leelee.log

[Spring] applicationContext를 이용하여 존재하는 bean 가져오기 + Runner.java 본문

개발/Backend

[Spring] applicationContext를 이용하여 존재하는 bean 가져오기 + Runner.java

leeleelee3264 2020. 3. 17. 21:36

spring framework

 

 

 저번에 IoC에 접근하는 방법으로 BeanFactory와 ApplicationContext가 있었다고 언급을 했었다. (ApplicationContext가 BeanFactory를 상속받는다). 개발을 하면서 직접 쓸 일은 아직 없는데 강의를 들을 때 계속 나와서 따로 기록을 해둔다. ApplicationContext로 IoC에 접근하고, getBean()으로 Ioc에 있는 Bean을 가지고 와서 출력해준다.

 지금은 저게 IoC에 있는 bean인지 없는지 정도로만 사용하는데 더 뭔가 사용할 방법이 있지 않을까... 했는데 공식 문서를 보니 이름이나, 아이디, 부모 빼오는거 빼고는 특별한 점이 없다.

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/ApplicationContext.html

 

ApplicationContext (Spring Framework 5.2.4.RELEASE API)

Expose AutowireCapableBeanFactory functionality for this context. This is not typically used by application code, except for the purpose of initializing bean instances that live outside of the application context, applying the Spring bean lifecycle (fully

docs.spring.io

 

 그리고 Runner란 interface 사용하는 걸 봤는데 Runner interface를 implements한 class가 있으면 spring이 실행이 될 때 그 클래스 안에서 오버라이딩한 run 메소드가 자동으로 실행이 되어서 돌아간다고 한다. spring이 만들어서 관리를 해야 실행이 될 수 있으니 당연히 @Component를 사용해서 Bean으로 선언해야 한다. 이것도 나중에 유용하게 사용할 수 있을 것 같다.

'개발 > Backend' 카테고리의 다른 글

[Spring] @Primary, @qualifier  (0) 2020.03.18
[Spring] @SpringBootApplication과 @ComponentScan  (0) 2020.03.17
[Spring] Bean LifeCycle  (0) 2020.03.13
[Spring] PSA란 무엇인가?  (2) 2020.03.05
[Spring] IoC 컨테이너와 Bean, DI  (0) 2020.02.23