이번 글에서는 의존관계 주입 방법에 대해서 더 자세히 다뤄볼 것이다. 지금까지의 예제에서는 빈 등록을 이용해서 단순히 실행만 시켜보는 구조였기에 객체간의 의존관계 주입이 없었다. 그렇기에 이번에는 의존관계에 대해 설명 못한 것들(종류, 좋은 방법, 활용하는 법 등)에 대해서 알아보려고 한다. 전 글들에서 언급했던 @Autowired 나 생성자 주입의 중요성과 Lombok도 이 곳에서 모두 다룰 것이다. 그럼 먼저 종류에 대해서 살펴보자. 생성자 주입 @Component public class StuService implements Service{ private final Repository repository; public StuService() {} @Autowired public StuServ..
이번 글은 싱글톤에 대해서 정리해보려고 한다. Spring에 대한 내용만은 아니지만 연관되어 이야기 할 수 있기에 정리해볼 것이다. 싱글톤 패턴이란 객체의 인스턴스가 딱 1번만 생성되는 패턴을 말한다. 예를 들어보자면, 어떤 프로그램 내에서 고객은 기능을 실행하기 위해 객체를 생성해야만 할 것이다. 그럴 때 같은 기능인데도 불구하고, 고객이 여러명이면 객체를 여러개 생성할 수 밖에 없을 것이다. 싱글톤 패턴은 이런 상황에서 객체를 1번만 생성하고 그 객체를 이용할 수 있게 하는 패턴인 것이다. 그렇다면 이 싱글톤 패턴은 어떻게 사용하는지 살펴보자. 이른 초기화 방법 public class SingletonService { private static final SingletonService in..
이번 글은 드디어 의존관계 주입을 하는 방법들에 대해서 알아보려고 한다. 첫번째 글에서는 xml 파일을 만들어 Spring을 통해 의존관계를 주입해주는 예를 들었었다. 그 방법은 이제 Spring의 기능을 직접 이용하지 않고, 파일을 직접 불러와서 해결했던 방법이었기에 생각보다 어려워 보였을 것이다. 하지만 이번에 소개할 방법을 Spring에서 제공하는 기능들을 통해서 의존관계 주입을 해보려고 한다. 일단 먼저 다형성만을 이용해 문제가 된 코드를 예로 들어보겠다. public class Main { public static void main(String[] args) { Repository repository = new StuRepository(); Student stu1 = new Student(1..
이번에는 좋은 객체지향 설계를 위한 5가지 원칙인 SOLID에 대해서 정리해보려고 한다. 원래는 의존성 주입하는 방식들에 대한 글을 쓰려했으나 이것을 먼저 정리하는 것이 좋을 것 같다고 생각되어 정리하게되었다. SOLID 원칙같은 경우에는 굳이 Spring이 아니더라도 좋은 객체지향 프로그램을 만들고 싶다면 지켜야 될 원칙이다. 어떤 내용인지 한 번 살펴보자. 1. SRP (Single Responsibility Principle, 단일 책임 원칙) 단일 책임 원칙이란 한 클래스는 하나의 책임만을 가져야 한다는 원칙이다. 예를 들어서 학생들을 저장하고 조회하는 기능을 만드려고 하는데, 이 클래스 내에서 프로그램의 실행까지 이루어진다면, 이는 한 클래스가 하나의 책임이 아닌 여러 책임을 가지게 되는 것..
이번에는 Spring에 대해서 정리해볼려고 한다. 스프링은 무엇일까? 스프링이란 자바 플랫폼을 위한 자바 기반 프레임워크로써 객체지향 언어인 자바의 특성을 살리는 것을 도와준다. 쉽게 생각하자면 그동안 배운 자바를 활용할 수 있는 확장 라이브러리이며, 좋은 객체지향 프로그램을 만들 수 있도록 도와준다는 것이다. 이러한 스프링은 여러 특징을 가지고 있다. 1. POJO 기반 POJO(Plain Old Java Object) 기반은 그대로 해석해보자면 오래된 자바 객체를 기반으로 한다는 뜻인데, 이는 스프링에서 객체간의 관계를 구성할 때 별도의 API를 사용하지 않고, 그냥 Java 코드만을 사용해서 객체를 구성할 수 있다는 것이다. 별도의 다른 라이브러리 등을 숙지하지 않아도 된다는 것이다. ..