[Spring] @Autowired 참조 대상이 null 인 경우 & depends-on Multiple 설정방법
□ Tech (Software)@Autowired 를 이용해 참조하는 대상이 null 인 경우
class A와 B가
Spring Context Xml 상에서
Scan 대상으로 되어 있거나
bean 선언이 되어 있는 상황에서도
A에서
@Autowired B b; 와 같이 사용할때
b가 null 이어서 참조할수 없는 trouble 상황을 만나기도 한다.
이럴때는 체크하는 방법이 좀 있겠으나
빨리 해결하는 방법은
Spring Context Xml 상에서
1) bean 선언 순서를... A 먼저 하고 B 를 하도록 하던가
2) 아님 아예 깔끔하게 depends-on 을 사용해서 하도록 한다.
* 순서만 잡아놓아도 보통은 잘되지만 그렇지 않은 경우도 있다
그런데... 이러한 상황은 하나의 Class에서 여러개의 bean 을 참조하는 나름 좀 복잡한 상황일 수 있으므로
여러개의 bean 을 @Autowired 를 통해 참조해야 하는 개연성이 좀 있다.
즉.. 예를 들어 A에서 B뿐만 아니라 C도 @Autowired로 사용해야 할때는
B와 C를 depends-on 으로 잡아야 할 것이다.
그렇다면?
bean 선언시 depends-on 에 여러개 bean 설정 방법
<bean id="sexyRestClient"
class="com.sexy.framework.rest.client.SexyRestClient"
depends-on="restTemplate,sexyLogToDBServiceImpl" />
멀티 구분자는 위와 같이 comma 또는 whitespace (공백), semi-colon 등으로 하면 된다. depends-on 에 하나씩만 걸어 써봤는데 여러개 걸어보는건 이번에 첨 해봄.
시원하게 공감버튼 빡!! ( 0.5초 걸려요 ) ^>^
'□ Tech (Software)' 카테고리의 다른 글
[Spring] How to exclude html in Spring MVC (0) | 2016.12.18 |
---|---|
Network Monitoring on Windows (0) | 2016.11.18 |
3way merge tool 조사 (0) | 2016.11.04 |
How to disconnect from SVN on TrotoiseSvn (0) | 2016.06.08 |
현시점에서 IE11에서 스크립트로 Print를 정확히 구현하는건 포기 (0) | 2016.06.06 |