草庐IT

autowiring

全部标签

java - Spring:为什么我们 Autowiring 接口(interface)而不是实现的类?

示例interfaceIA{publicvoidsomeFunction();}@Resource(name="b")classBimplementsIA{publicvoidsomeFunction(){//busycodeblock}publicvoidsomeBfunc(){//doingbthings}}@Resource(name="c")classCimplementsIA{publicvoidsomeFunction(){//busycodeblock}publicvoidsomeCfunc(){//doingCthings}}classMyRunner{@Autowir

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 - Autowiring 在 Spring 中是如何工作的?

我有点困惑inversionofcontrol(IoC)在Spring中工作。假设我有一个名为UserServiceImpl的服务类,它实现了UserService接口(interface)。这会是怎样的@Autowired?在我的Controllers中,我将如何instance这个服务的instance?我会做以下事情吗?UserServiceuserService=newUserServiceImpl(); 最佳答案 首先,也是最重要的-所有Springbean都是托管的-它们“存在”在一个容器中,称为“应用程序上下文”。其次

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 - @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

java - intellij 错误地说没有为 Autowiring 的存储库找到类型的 bean

我创建了一个简单的单元测试,但IntelliJ错误地将其突出显示为红色。将其标记为错误没有bean?正如您在下面看到的,它通过了测试?所以它必须是Autowired? 最佳答案 我在使用@SpringBootApplication注释创建SpringBoot应用程序时遇到了同样的问题。这个注解代表@Configuration、@EnableAutoConfiguration和@ComponentScan根据springreference.正如预期的那样,新注释工作正常,我的应用程序运行顺利,但是,Intellij一直提示未实现的@A

java - intellij 错误地说没有为 Autowiring 的存储库找到类型的 bean

我创建了一个简单的单元测试,但IntelliJ错误地将其突出显示为红色。将其标记为错误没有bean?正如您在下面看到的,它通过了测试?所以它必须是Autowired? 最佳答案 我在使用@SpringBootApplication注释创建SpringBoot应用程序时遇到了同样的问题。这个注解代表@Configuration、@EnableAutoConfiguration和@ComponentScan根据springreference.正如预期的那样,新注释工作正常,我的应用程序运行顺利,但是,Intellij一直提示未实现的@A