찾다

 >  Q&A  >  본문

Spring如何在Java应用程序中自动实现依赖注入

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

巴扎黑巴扎黑2781일 전596

모든 응답(6)나는 대답할 것이다

  • 迷茫

    迷茫2017-04-18 09:53:09

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

    으아아아

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

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:53:09

    Autowired가 필요합니다

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-18 09:53:09

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

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

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-18 09:53:09

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

    회신하다
    0
  • ringa_lee

    ringa_lee2017-04-18 09:53:09

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

    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를 사용해 보는 것은 어떨까요?

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-18 09:53:09

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

    회신하다
    0
  • 취소회신하다