2022. 2. 1. 16:57ㆍ스터디 정리
<< 스프링 빈을 등록하는 2가지 방법 >>
- 컴포넌트 스캔과 자동 의존관계 설정 > @Component
@Controller,@Service, @Repository의 어노테이션이 붙으면 스프링이 처음 뜰 때 스프링 컨테이너라는 스프링 통이 생기는데 여기에 해당 객체를 생성해서 등록, 관리를 하게 됨. >> 스프링 빈이 관리된다고 하는것
(↑해당 어노테이션 다 들어가보면 @Component가 들어있음,
@Component가 있으면 스프링 빈으로 자동 등록됨
)
(컴포넌트 스캔의 대상은 메인메소드의 패키지의 하위, 동일한 것들. 따로 설정을 해주지않는 이상)
2. 자바 코드로 직접 스프링 빈 등록하기 > @Configuration, @Bean
장점 : 상황에 따라 구현 클래스를 변경해야하면 대체가 가능. 설정파일에서만 사용할 객체로 바꿔주면 됨!
<< @Autowired >>
> 생성자에 @Autowired 가 있으면 스프링이 연관된 객체를 스프링 컨테이너에서 찾아서 넣어준다. 이렇게 객체 의존관계를 외부에서 넣어주는 것을 DI (Dependency Injection), 의존성 주입이라 함
> 스프링 컨테이너에 올라간 것들만 Autowired기능이 동작됨. new 같은 직접 생성한것들은 X!
DI 설정 > 3가지 방법
1) 객체 주입 > 선호되는 방법, 처음 올라가는 시점에 생성자로 딱 한번 생성하고 막아버리는것이 좋음
2) 필드 주입
3) setter 주입 > 호출될 때 public 으로 노출되어있어야함
정적 컨텐츠 : 요청이 오면 스프링 컨테이너에서 관련 컨트롤러를 먼저 찾고 없으면 static파일을 찾게됨.
(웰컴 페이지도 마찬가지. 웰컴 페이지가 있다고 해도 등록해놓은 컨트롤러 주소가 있으면 해당 컨트롤러 호출페이지로 감)
'스터디 정리' 카테고리의 다른 글
20220131 스터티 정리 (0) | 2022.02.01 |
---|---|
20220127-Spring 스터디 (0) | 2022.01.27 |
톰캣 설치 (0) | 2021.12.18 |
서버 (0) | 2021.12.03 |
리눅스공부 (0) | 2021.11.23 |