什么's是在web应用程序中初始化Autowired成员所需的最低配置



使用@Autowired注释初始化以下类成员所需的最小配置是什么:

public class A {
  @Autowired
  private B b;
  // ...
}

当调用A A=new A()时,我希望b从预定义的bean初始化,而无需在代码中配置它。

可能需要一些文件:A.javaweb.xmlspring-context.xml(用于配置B)和jars

最低需要的配置和文件内容是什么

基于这篇文章,我创建了这个项目。启动B的步骤:

  1. 下载并提取压缩文件夹
  2. 运行mvn clean install
  3. 将war(spring-autowired-1.0-SNAPSHOT.war)从目标复制到web服务器的webapps文件夹中
  4. 运行服务器。(对于tomcat:./catalina.sh运行)
  5. 调用API并查看B的hascode-curl -X GET http://localhost:8080/spring-autowired-1.0-SNAPSHOT/rest/a/a
  6. 请参阅b已初始化-不是null

实际类别:

@Component
@Path("/a")
public class A {
    @Autowired
    B b;
    @GET
    @Path("/a")
    public String a() {
        return b.toString();
    }
}

*我的实现与mkyong的不同之处在于,我的pom具有较少的依赖性,并且@Autowired成员不是接口。

如果由于某种原因无法在应用程序上下文中将类A配置为bean,则可以让类A实现SpringBeanAutowingSupport。这适用于web环境。

SpringBeanAutowingSupport默认构造函数从请求中查找应用程序上下文。然后它注入依赖项。

public class A extends SpringBeanAutowiringSupport{
  @Autowired
  private B b;
}

相关内容

  • 没有找到相关文章

最新更新