Controller, Service, Repository를 스프링이 인식할 수 있도록 등록해주는 방법은 두가지가 있다.
하나는 주로 편하게 사용하는 컴포넌트 스캔 원리를 사용하는 것이고 다른 하나는 자바빈으로 생성되도록 설정하여 직접 등록해주는 방법이다
전자는 @Component 어노테이션으로 가능한데, 주로 각 클래스의 용도에 맞게 어노테이션을 명명해주어도 된다.
즉, @Controller, @Service, @Repository 어노테이션은 모두 @Component를 내장하고 있다.
그리고 각 클래스가 해당 어노테이션을 통해 컴포넌트 스캔을 하고 있다면 클래스에서 생성한 객채에 @Autowired를 통해 객체 생성(주입)이 가능해진다.
그리고 자바 코드를 통한 Bean 생성 방법은
@Configuration 어노테이션을 가지는 클래스를 생성 후
@Bean 어노테이션을 통해 Service나 Repository가 생성되는 부분을 지정해주면 된다.
* 추가로 @Autowired에는 필드주입, setter 주입, 생성자 주입 방식이 있는데, 생성자 주입 방식을 가장 권고한다.
'개발 > Spring' 카테고리의 다른 글
[Spring]Lombok(롬복) (0) | 2022.03.13 |
---|---|
[Spring]@ComponentScan (0) | 2022.03.12 |
[Spring]AOP(관점지향프로그래밍) 입문 (0) | 2022.02.27 |
[Spring]form을 통해 값을 받을때 클래스와 변수로.. (0) | 2022.02.25 |
[Spring]스프링 공부 시작 (0) | 2022.02.21 |