Web/Spring

[Spring] Annotation으로 Bean 등록하기

Binceline 2017. 11. 19. 15:39

참고 : http://noritersand.tistory.com/156



Bean : Spring Container에서 관리되는 객체 (기본적으로 Singleton)


- @Configuration Annotation으로 Bean 등록

-> @Configuration이 작동되기 위해서는 cglib를 pom.xml 파일에 dependency로 등록해 주어야 한다.

-> @Configuration으로 정의하게 되면 Spring에서 Bean 설정을 위한 객체 인식하게 되고, 그 내부에 @Bean으로 Bean 객체를 정의한다.

-> Method를 @Bean으로 정의하는데, 바로 이 @Bean으로 정의된 메소드가 반환하는 객체가 바로 Bean 객체이다. Spring Container에 딱 한 번 등록되어 사용하게 된다. 즉, Singleton으로 관리된다.

-> node.js의 module.export로 정의한 코드 파일을 require나 import로 등록하는 것과 비슷한 동작이라고 생각할 수 있다.


다음 4가지의 Annotation으로 Bean 형식을 설정한다.

- @Component

-> @ComponentScan을 사용하여 package를 지정해 주면 그 하위에 존재하는 @Component로 정의된 클래스들을 검색하여 Bean으로 등록시킨다.

-> 검색되어 Bean으로 등록될 때, class 이름의 첫 글자가 소문자로 변경되어 등록된다.


다음 3가지 Annotation은 더 세부적인 관리를 위해 약간의 기능을 추가하여 @Component를 확장한 것들이다.


- @Controller

-> 당연한 말이겠지만.. MVC 에서 Controller 담당이라고 정의하기 위한 것.

-> Data를 가공하여 여러 방식으로 제공해 주기 위한 객체임을 정의

-> @RequestMapping 등을 통해 경로 설정이나.. 여러가지 것들 가능


- @Repository

-> DB Exception Translation을 해 줌

-> DAO에 적용


- @Service 

-> 비즈니스 로직을 구현하는 Component로 지정

-> 아직 자세힌 모르겠다. 나중에 쓰게 되면 포스팅해야겠다.


반응형