最近开发一个Java应用程序,希望能使用Spring来实现依赖注入。
在Web应用程序中,可以在web.xml文件中配置listener来自动实现注入。
在Java Application中,可以通过如下的方式来加载Spring:
ClassPathXmlApplicationContext ctx = new FileSystemXMLApplicationContext("beans.xml");
Hello hello = ctx.getBeans("hello");
但这样的一个问题是,在每次使用一个bean时,都需要显示调用一次getBeans。
不知有什么好的方法,能够让Spring自动加载对象,而不需要显式调用getBeans?
更多 0
迷茫2017-04-18 09:53:09
예를 따라 두 줄을 더 작성하세요.
으아아아웹 프로젝트에서 처음에 요청을 처리하는 레이어는 여전히 getBeans()를 통해 생성되어야 합니다. 이 단계는 tomcat/strtus/springMVC에 의해 수행됩니다.
Spring은 관리되는 클래스를 자동으로 주입합니다. 그러나 프로그램에서 시작된 메인 클래스는 Spring 관리에 의해 생성되지 않습니다.
PHP中文网2017-04-18 09:53:09
Spring의 종속성 주입을 사용하려면 먼저 Spring에서 Bean을 가져와서 Bean의 종속성이 주입되었는지 확인해야 합니다. 새로운 객체를 직접 생성한다면 Spring이 이를 어떻게 주입할 수 있을까요?
getBeans 메소드를 직접 캡슐화할 수 있습니다
ringa_lee2017-04-18 09:53:09
종속성 주입은 두 단계에 불과합니다.
빈 선언
콩 주입
빈 선언 방법:
xml 포함
클래스에 @Component, @Service 등 추가
@Configuration을 사용하여 클래스에 @Bean 메소드를 작성
콩 주입 방법:
xml 포함
@Autowire와 같은 주석
완전하지는 않지만 일반적으로 사용되는 내용이어야 합니다. 자세한 내용은 spring 문서 및 ioc 부분을 참조하세요
질문해보자
웹 애플리케이션에서는 web.xml에 리스너를 구성할 필요가 없습니다(전제 조건은 servlet3.0+, 예: tomcat7+)
Java 애플리케이션의 경우 Spring Boot를 사용해 보는 것은 어떨까요?
PHP中文网2017-04-18 09:53:09
추천 주제 소유자는 @ChaChage Servlet 3 + Spring MVC 제로 구성: 모든 xml 제거를 살펴볼 수 있습니다