我有一个使用JAXRS来使用注释映射Restlet资源的应用程序。但是,我唯一的切入点实际上是在应用程序配置中定义资源类列表。这些类由Restlet或JAXRS实例化,因此我无法将它们放在我的ApplicationContext
中。有没有办法让Spring扫描类路径并根据需要自动装配新实例?我已经尝试过使用以下内容:
@Autowired
private SessionFactory sessionFactory;
不幸的是,它并没有真正起作用。有没有办法做我在这里谈论的事情?
答案 0 :(得分:4)
ApplicationContext.getAutowireCapableBeanFactory().autowireBean(object)
会将所有依赖项注入对象。
答案 1 :(得分:4)
您可以使用AspectJ依赖注入由控件创建的bean,或者使用new创建对象。您可以阅读有关Springs文档的更多信息:http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop.html#aop-using-aspectj
基本上你要做的是将@Configurable注释添加到你想成为注入目标的类中。您还必须在Spring xml中启用Spring。最后,您必须在编译时编织或运行时编织之间做出决定。您可以再次从spring文档中获得帮助。
加载时间编织:http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop.html#aop-aj-ltw
如果您使用maven,可以查看此Stackoverflow问题以设置编译时间AspectJ:Why doesn't AspectJ compile-time weaving of Spring's @Configurable work?