Spring41 스프링 프레임워크 스테리오타입 어노테이션 스프링 빈을 생성할 때마다 @ Component 어노테이션을 추가 했었습니다. 이밖에도 사용할 수 있는 어노테이션은 많습니다. @Component는 제네릭 어노테이션으로 모든 클래스에 적용할 수 있습니다. 특정 클래스에 대해 스프링 빈을 생성한다면 @Component를 추가할 수 있습니다. 이것이 모든 스프링 스테레오타입 어노테이션의 이본입니다. @service 일반적으로 어노테이션된 클래스가 비즈니스 로직을 가지고 있다는 것을 가르킵니다. 즉 클래스가 비즈니스 로직을 가지고 있다면 @Component 대신 @Service를 사용할 수있습니다. @Controller 클래스가 controller인 경우 가령 웹 컨트롤러 라면 자주 사용할 어노테이션은 @Controller 입니다 웹 애플리케이션과 REST .. 2023. 2. 27. 빈 생명주기 관리하기 (@PostConstruct, @PreDestroy) 스프링 빈의 생명주기 관리 빈이 생성되거나 소멸되는 경우 특정한 작업을 하고싶은 경우가 있습니다. 하나의 예시로는 빈이 생성될 때 데이터베이스 커넥션 풀을 미리 생성하는 경우가 있습니다. 스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용 -> 소멸 전 콜백 -> 스프링 종료 - 초기화 콜백: 빈이 생성되고, 빈의 의존관계 주입이 완료된 후 호출 - 소멸전 콜백: 빈이 소멸되기 직전에 호출 스프링 빈은 크게 3가지 방법으로 빈 생명주기 콜백을 지원 - 인터페이스 (InitializingBean, DisposableBean) - 설정정보 초기화 메서드, 종료 메서드 지정 - @PostConstruct, @PreDestroy @PostConstruct 주석은 다음 이후.. 2023. 2. 27. 스프링 프레임워크 중요한 용어 @Componet @Component를 추가하면, 클래스와 인스턴스는 스프링 프레임워크가 관리하게 됩니다 다양한 클래스에도 사용이 되며 의존성에도 사용됩니다. @Component는 가장 중요한 어노테이션입니다. @Component를 사용하고, 해당 클래스가 @ComponentScan에 포함되어 있다면 클래스 인스턴스와 스프링 빈 역시 생성될 것이고 이들을 스프링이 관리하게 됩니다. 의존성(Dependency) 의존성 주입은 IoC(Invesoin of Control, 의존성 역전) 원칙하에 객체간의 결합을 약하게해주고 유지보수가좋은 코드를 만들어줍니다. 즉, 외부에서 생성된 객체를 이용하는 것입니다. @ComponentScan 스프링은 컴포넌트가 어디에 있는지 알아야 합니다 스프링 프레임워크에 이를 알리.. 2023. 2. 27. 의존성주입 스프링 프레임워크에 의존성 주입은 3가지 정도 로 정리할수 있습니다 생성자 기반 세터(수정자) 기반 필드 어떠한 생성자나 수정자가 없다면 필드에 리플렉션을 통해 직접주입하는 것도 가능합니다 생성자 @Controller public class Controller { public final Service service; @Autowired//클래스의 생성자가 하나이고, 그 생성자로 주입받을 객체가 빈으로 등록되어 있다면 @Autowired를 생략 할 수 있습니다. public Controller(Service service) { this.service = service; } } 생성자에 @Autowired를 붙여 의존성을 주입받을수 있습니다 Spring4.3이후로는 클래스 내 생성자가 하나이고, 그 생성자로.. 2023. 2. 27. 이전 1 ··· 5 6 7 8 9 10 11 다음