애플리케이션의 각 클래스는 Spring 애플리케이션 컨텍스트를 어떻게 검색해야합니까? 또는 다른 방법으로 말하면, 응용 프로그램이 new ClassPathXmlApplicationContext("applicationContext.xml")
을 몇 번 호출해야합니까?애플리케이션의 각 클래스는 Spring 애플리케이션 컨텍스트를 어떻게 검색해야합니까?
답변
일반적으로 클래스에는 응용 프로그램 컨텍스트가 필요하지 않지만 Spring에서 삽입하는 개체가 필요합니다. 그리고이 값은 해당 applicationContext에서 구성됩니다.
이러한 응용 프로그램은 일반적으로 new ClassPathXmlApplicationContext("applicationContext.xml")
을 한 번만 호출합니다.
의존성 주입을 사용하면 일반적으로 그러지 않아도됩니다. 그러나 클래스가 실제로 애플리케이션 컨텍스트를 인식해야하는 경우 ApplicationContextAware
인터페이스를 구현하십시오. Spring은 해당 인터페이스에 정의 된 setApplicationContext
메소드를 자동으로 호출하여 클래스에 애플리케이션 컨텍스트를 제공합니다.
파일 시스템 리소스에 액세스하려는 경우 ResourceLoaderAware
을 사용해야합니다. 메시지 소스에 액세스하려면 인터페이스를 구현하지 마십시오. 대신, MessageSource
bean에 대한 참조를 삽입하십시오.
다른 질문에 대한 답변에서 조언을 받아야한다고 생각합니다. here. ApplicationContextAware 또는 ServletContextAware (서블릿 컨테이너에있는 경우)를 구현하는 것이 컨텍스트를 얻는 가장 좋은 방법입니다.
스프링이 종속성 주입 또는 제어 반전을 처리하는 방법을 찾습니다.
한 번.
사실, Spring이 무거운 짐을 들게하고 다른 방법보다는 클래스를 빌드/구성하도록해야합니다.
전체 아이디어는 스프링 프레임 워크가 제공하는 '마술처럼'의존성에 대해 외부 세계를 호출하지 않고도 모든 클래스를 빌드 할 수 있다는 것입니다.
이 접근법은 사용자가 암시하는 ServiceLocator 패턴에서 벗어나기 위해 즉, 객체에 대한 참조를 가져 와서 필요한 의존성, 예를 들어 JNDI를 얻도록 고안되었습니다.
- 1. DispatcherServlet에서 관리하지 않는 서블릿에서 Spring 애플리케이션 컨텍스트를 활성화하는 방법은 무엇입니까?
- 2. Eclipse RCP 프로젝트 내에서 Spring 애플리케이션 컨텍스트를 사용하는 권장 방법
- 3. Android : 각 애플리케이션의 배터리 사용량
- 4. Spring 애플리케이션 컨텍스트 얻기
- 5. 빈이 생성자에 Spring 애플리케이션 컨텍스트를로드하려고하면 어떻게 될까?
- 6. Spring MVC의 애플리케이션 설계
- 7. Grails 애플리케이션 컨텍스트를 동적으로 설정 하시겠습니까?
- 8. 빈을 Spring MVC의 애플리케이션 컨텍스트에로드하는 방법은 무엇입니까?
- 9. Spring 애플리케이션 컨텍스트에서 JNDI 조회를 해결 하시겠습니까?
- 10. 스프링 서블릿 애플리케이션 컨텍스트 얻기
- 11. Java Spring 애플리케이션 프로파일 링
- 12. GWT + Spring + Hibernate의 샘플 애플리케이션
- 13. Spring 애플리케이션의 유틸리티 클래스 - 정적 메소드를 사용해야합니까?
- 14. Spring 프레임 워크 애플리케이션의 새로운 기능 사용?
- 15. 영국 파운드 기호는 어떻게 저장하고 검색해야합니까?
- 16. 속성 클래스는 어떻게 작동합니까?
- 17. JSON으로 데이터베이스 레코드를 검색해야합니까?
- 18. 하위 클래스는 어떻게 정의합니까?
- 19. Spring 관리 웹 애플리케이션의 Log4J Appender에서 Spring 관리 Bean을 검색 할 수있는 옵션은 무엇입니까?
- 20. Android에서 애플리케이션의 버전 번호는 어떻게 받습니까?
- 21. Spring-WS에서 WebServiceMessageDrivenBean은 어떻게 사용합니까?
- 22. Tomcat이 제공하는 클래스를 인스턴스화하는 Spring 3 애플리케이션
- 23. 중첩 클래스는 어디서 어떻게 사용합니까?
- 24. 명령 프롬프트에서 Google 애플리케이션의 애플리케이션 업로드에 로그 아웃
- 25. Facebook : 한 애플리케이션의 여러 애플리케이션 탭이있는 페이지 실행
- 26. Perl 클래스는 어떻게 만듭니 까?
- 27. 테스트중인 격리 클래스는 어떻게 얻습니까?
- 28. PHP IteratorIterator 클래스는 어떻게 작동합니까?
- 29. Wordpress의 워커 클래스는 어떻게 작동합니까?
- 30. 익명 클래스는 Java로 어떻게 컴파일됩니까?
MessageSource를 가져 오기 위해'MessageSourceAware'를 구현하는 것이 잘못된 이유는 무엇입니까? 나는 이것을 응용 프로그램에 대해 수행했으며 항상 정상적으로 작동했습니다. – jasonmp85
끔찍한 잘못은 없지만 참조를 전달하기 만하면 인터페이스를 구현해야하는 이유는 무엇입니까? – Jeff