草庐IT

Autowired

全部标签

java - @Autowired 和静态方法

我有@Autowired服务,它必须在静态方法中使用。我知道这是错误的,但我无法更改当前的设计,因为它需要大量的工作,所以我需要一些简单的技巧。我无法将randomMethod()更改为非静态的,我需要使用这个Autowiring的bean。任何线索如何做到这一点?@ServicepublicclassFoo{publicintdoStuff(){return1;}}publicclassBoo{@AutowiredFoofoo;publicstaticvoidrandomMethod(){foo.doStuff();}} 最佳答案

java - 您可以将@Autowired 与静态字段一起使用吗?

有没有办法将@Autowired与静态字段一起使用。如果没有,还有其他方法可以做到这一点吗? 最佳答案 简而言之,没有。您不能在Spring中自动连接或手动连接静态字段。您必须编写自己的逻辑来执行此操作。 关于java-您可以将@Autowired与静态字段一起使用吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1018797/

java - Spring @Autowired 用法

使用的优缺点是什么?@Autowired在一个将由Spring连接的类中?澄清一下,我是专门谈论@Autowired注释,而不是XML中的Autowiring。我可能只是不明白它,但对我来说它几乎像是一种反模式-您的类开始意识到它们与DI框架相关联,而不仅仅是POJO。也许我是一个喜欢惩罚的人,但我喜欢为bean设置外部XML配置,而且我喜欢有明确的接线,所以我确切地知道在哪里接线。 最佳答案 很长一段时间以来,我相信拥有像我们过去都使用的xml文件一样的“集中式、声明式、配置”是有值(value)的。然后我意识到文件中的大部分内容

java - @Resource 与 @Autowired

我应该在DI中使用哪个注释,@Resource(jsr250)或@Autowired(Spring专用)?我过去都成功使用过@Resource(name="blah")和@Autowired@Qualifier("blah")我的直觉是坚持使用@Resource标签,因为它已被jsr人认可。有人对此有强烈的想法吗? 最佳答案 @Autowired(或@Inject)和@Resource都同样有效。但存在概念上的差异或含义上的差异@Resource意味着给我一个按名称知道的资源。名称是从带注释的setter或字段的名称中提取的,或者是

java - @Autowired - 没有为依赖找到符合条件的 bean

我通过使用Spring和Hibernate为服务创建实体、服务和JUnit测试来开始我的项目。所有这一切都很好。然后我添加了spring-mvc来使用许多不同的分步教程制作这个Web应用程序,但是当我尝试使用@Autowired注释制作Controller时,我收到了错误部署期间的Glassfish。我猜出于某种原因,Spring看不到我的服务,但经过多次尝试我仍然无法处理它。服务测试@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:/beans.xml"})和@Auto

java - @Autowired - 没有为依赖找到符合条件的 bean

我通过使用Spring和Hibernate为服务创建实体、服务和JUnit测试来开始我的项目。所有这一切都很好。然后我添加了spring-mvc来使用许多不同的分步教程制作这个Web应用程序,但是当我尝试使用@Autowired注释制作Controller时,我收到了错误部署期间的Glassfish。我猜出于某种原因,Spring看不到我的服务,但经过多次尝试我仍然无法处理它。服务测试@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:/beans.xml"})和@Auto

java - 究竟什么是现场注入(inject)以及如何避免它?

我在一些关于SpringMVC和Portlets的帖子中读到,不推荐字段注入(inject)。据我了解,字段注入(inject)是当您像这样使用@Autowired注入(inject)Bean时:@ComponentpublicclassMyComponent{@AutowiredprivateCartcart;}在我的研究过程中,我还阅读了有关构造函数注入(inject):@ComponentpublicclassMyComponent{privatefinalCartcart;@AutowiredpublicMyComponent(Cartcart){this.cart=cart;

java - 究竟什么是现场注入(inject)以及如何避免它?

我在一些关于SpringMVC和Portlets的帖子中读到,不推荐字段注入(inject)。据我了解,字段注入(inject)是当您像这样使用@Autowired注入(inject)Bean时:@ComponentpublicclassMyComponent{@AutowiredprivateCartcart;}在我的研究过程中,我还阅读了有关构造函数注入(inject):@ComponentpublicclassMyComponent{privatefinalCartcart;@AutowiredpublicMyComponent(Cartcart){this.cart=cart;

java - @Autowired bean 在另一个 bean 的构造函数中引用时为空

下面显示的是我尝试引用我的ApplicationPropertiesbean的代码片段。当我从构造函数引用它时它是空的,但是当从另一个方法引用它时它很好。到目前为止,我在其他类中使用这个Autowiring的bean没有问题。但这是我第一次尝试在另一个类的构造函数中使用它。在下面的代码片段中,applicationProperties在从构造函数调用时为null,但在convert方法中引用时则不是。我错过了什么@ComponentpublicclassDocumentManagerimplementsIDocumentManager{privateLoglogger=LogFacto

java - @Autowired bean 在另一个 bean 的构造函数中引用时为空

下面显示的是我尝试引用我的ApplicationPropertiesbean的代码片段。当我从构造函数引用它时它是空的,但是当从另一个方法引用它时它很好。到目前为止,我在其他类中使用这个Autowiring的bean没有问题。但这是我第一次尝试在另一个类的构造函数中使用它。在下面的代码片段中,applicationProperties在从构造函数调用时为null,但在convert方法中引用时则不是。我错过了什么@ComponentpublicclassDocumentManagerimplementsIDocumentManager{privateLoglogger=LogFacto