Spring如何在Java应用程序中自动实现依赖注入
巴扎黑
巴扎黑 2017-04-18 09:51:09
0
6
600

最近开发一个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

巴扎黑
巴扎黑

모든 응답(6)
迷茫

예를 따라 두 줄을 더 작성하세요.

으아아아

웹 프로젝트에서 처음에 요청을 처리하는 레이어는 여전히 getBeans()를 통해 생성되어야 합니다. 이 단계는 tomcat/strtus/springMVC에 의해 수행됩니다.
Spring은 관리되는 클래스를 자동으로 주입합니다. 그러나 프로그램에서 시작된 메인 클래스는 Spring 관리에 의해 생성되지 않습니다.

Peter_Zhu

Autowired가 필요합니다

洪涛

Spring의 종속성 주입을 사용하려면 먼저 Spring에서 Bean을 가져와서 Bean의 종속성이 주입되었는지 확인해야 합니다. 새로운 객체를 직접 생성한다면 Spring이 이를 어떻게 주입할 수 있을까요?

getBeans 메소드를 직접 캡슐화할 수 있습니다

小葫芦

HELLO를 멤버 변수로 처리한 다음 @autowired 또는 @Resourse로 이동해야 합니다

左手右手慢动作

종속성 주입은 두 단계에 불과합니다.

  1. 빈 선언

  2. 콩 주입

빈 선언 방법:

  1. xml 포함

  2. 클래스에 @Component, @Service 등 추가

  3. @Configuration을 사용하여 클래스에 @Bean 메소드를 작성

콩 주입 방법:

  1. xml 포함

  2. @Autowire와 같은 주석

완전하지는 않지만 일반적으로 사용되는 내용이어야 합니다. 자세한 내용은 spring 문서 및 ioc 부분을 참조하세요

질문해보자

  1. 웹 애플리케이션에서는 web.xml에 리스너를 구성할 필요가 없습니다(전제 조건은 servlet3.0+, 예: tomcat7+)

  2. Java 애플리케이션의 경우 Spring Boot를 사용해 보는 것은 어떨까요?

Ty80

추천 주제 소유자는 @ChaChage Servlet 3 + Spring MVC 제로 구성: 모든 xml 제거를 살펴볼 수 있습니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿