info 안내문 띄우기
Locale locale;
logger.info("Controller 생성자 실행", this.locale);
해당 경로의 xml을 받아옴
DI (Dependency Injection) : 의존성 주입
@Autowired
=> 의존 객체 자동 주입(Automatic Dependency Injection)
=> 주입하려고 하는 객체의 타입이 일치하는지를 찾고 객체를 자동으로 주입함
=> 속성, 새터 그리고 생성자 모두와 연결 할 수 있음
@Autowired로 연결할 객체가 없으면 오류가 남
=> BeanCreationException 오류
org.springframework.beans.factory.BeanCreationException:
어노테이션을 붙여 객체를 생성=> Autowired로 주입
* 객체가 만들어지는 순서 때문에 오류가 날수도 있다.
test02에서 test02보다 늦게 만들어지는 test를 사용하면 Nullpoint오류가 난다.
Test02 객체가 만들어지기 전에 context로 test를 먼저 읽게 함
TestController, TestDAO, TestService, TestServiceImpl
서버 구동하면 빈으로 등록되니까 오토와이드로 주입하면 사용 가능 -> new 연산자 사용할 필요 X
@Autowired TestDAO => 오토와이드를 통해 dao 처리해서 사용
TestService 를 상속받은 객체가 두개 이상이 되면 에러가 발생한다.
=> ~ is defined: expected single matching bean but found 2: [ ~, ~ ]
해결 방법 1
=> 부모 객체를 사용하지 않고, 정확히 명시한다. (자식 객체가 둘 이상이라 오류가 난 경우에만 가능)
해결 방법 2
=> ApplicationContextAware를 상속받은 클래스를 만들어 사용
해결 방법 3
=> @Qualifier("객체이름")을 사용한다.
'Java > 자바 기반 웹 개발자 과정 필기' 카테고리의 다른 글
[200623.82일차] Spring 12 - Scheduler, Ajax, RestController (1) | 2020.06.23 |
---|---|
[200622.81일차] Spring 11 - AOP (0) | 2020.06.22 |
[200619.80일차] Spring 10 - MyBatis (0) | 2020.06.19 |
[200617.78일차] Spring 8 - 트랜잭션 (0) | 2020.06.17 |
[200616.77일차] Spring 7 (0) | 2020.06.16 |
[200615.76일차] Spring 6 - jdbc (0) | 2020.06.15 |
[200612.75일차] Spring 5 - 쿠키 (0) | 2020.06.12 |