草庐IT

AutoWired

全部标签

java - Spring @Autowired 是按名称还是按类型注入(inject) bean?

我正在阅读《初春》(威利出版社)的书。在第2章中有一个例子关于Java配置和@Autowired。它提供了这个@Configuration类@ConfigurationpublicclassCh2BeanConfiguration{@BeanpublicAccountServiceaccountService(){AccountServiceImplbean=newAccountServiceImpl();returnbean;}@BeanpublicAccountDaoaccountDao(){AccountDaoInMemoryImplbean=newAccountDaoInMem

spring - Autowiring 问题和没有唯一的 bean

我有2个类(B,C)扩展了A类。@ServicepublicclassAextendsAbstratClass{@AutowiredA(MyClassbr){super(br);}@ServicepublicclassBextendsA{@AutowiredB(MyClassbr){super(br);}@ServicepublicclassCextendsA{@AutowiredC(MyClassbr){super(br);}但我有这个消息:Nouniquebeanoftype[A]]isdefined:expectedsinglematchingbeanbutfound2:[A,B

spring - Autowiring 问题和没有唯一的 bean

我有2个类(B,C)扩展了A类。@ServicepublicclassAextendsAbstratClass{@AutowiredA(MyClassbr){super(br);}@ServicepublicclassBextendsA{@AutowiredB(MyClassbr){super(br);}@ServicepublicclassCextendsA{@AutowiredC(MyClassbr){super(br);}但我有这个消息:Nouniquebeanoftype[A]]isdefined:expectedsinglematchingbeanbutfound2:[A,B

java - Spring Autowiring 仅适用于接口(interface)

我对Spring框架很陌生,遇到了以下问题。我有一个接口(interface)ClassA,由分类ClassA1和ClassA2实现。我将以下bean定义添加到applicationContext.xml我想Autowiring两个实现类,如下所示。@AutowiredprivateClassA1classA1;@AutowiredprivateClassA2classA2;上面的代码抛出错误Couldnotautowritetofield:com.abc.ClassA1com.abc.SomeClass.classA1;nestedexceptionisorg.springframe

java - Spring Autowiring 仅适用于接口(interface)

我对Spring框架很陌生,遇到了以下问题。我有一个接口(interface)ClassA,由分类ClassA1和ClassA2实现。我将以下bean定义添加到applicationContext.xml我想Autowiring两个实现类,如下所示。@AutowiredprivateClassA1classA1;@AutowiredprivateClassA2classA2;上面的代码抛出错误Couldnotautowritetofield:com.abc.ClassA1com.abc.SomeClass.classA1;nestedexceptionisorg.springframe

java - 从单元测试中注入(inject)模拟 Spring @Autowired 依赖项的最佳方法是什么?

importorg.springframework.beans.factory.annotation.Autowired;classMyService{@AutowiredprivateDependencyOnedependencyOne;@AutowiredprivateDependencyTwodependencyTwo;publicvoiddoSomething(){//Doessomethingwithdependencies}}在测试这个类的时候,我基本上有四种方式注入(inject)mock依赖:在测试中使用Spring的ReflectionTestUtils注入(inje

java - 从单元测试中注入(inject)模拟 Spring @Autowired 依赖项的最佳方法是什么?

importorg.springframework.beans.factory.annotation.Autowired;classMyService{@AutowiredprivateDependencyOnedependencyOne;@AutowiredprivateDependencyTwodependencyTwo;publicvoiddoSomething(){//Doessomethingwithdependencies}}在测试这个类的时候,我基本上有四种方式注入(inject)mock依赖:在测试中使用Spring的ReflectionTestUtils注入(inje

java - Autowiring 的 Spring 集成测试很慢

我正在尝试加快我们环境中的集成测试。我们所有的类(class)都是Autowiring的。在我们的applicationContext.xml文件中,我们定义了以下内容:...additionaldirectories我注意到Spring正在扫描上面指出的所有目录,然后遍历每个bean并缓存每个bean的属性。(我查看了Spring的DEBUG消息)因此,运行以下测试大约需要14秒:publicclassMyTestextendsBaseSpringTest{@TestdefvoidmyTest(){println"test"}}有没有办法延迟加载配置?我尝试添加default-laz

java - Autowiring 的 Spring 集成测试很慢

我正在尝试加快我们环境中的集成测试。我们所有的类(class)都是Autowiring的。在我们的applicationContext.xml文件中,我们定义了以下内容:...additionaldirectories我注意到Spring正在扫描上面指出的所有目录,然后遍历每个bean并缓存每个bean的属性。(我查看了Spring的DEBUG消息)因此,运行以下测试大约需要14秒:publicclassMyTestextendsBaseSpringTest{@TestdefvoidmyTest(){println"test"}}有没有办法延迟加载配置?我尝试添加default-laz

spring - 如何使用运行时 "qualifier"变量动态注入(inject)服务?

在给定运行时值的情况下,我找不到注入(inject)组件/服务的简单方法。我开始阅读@Spring的文档:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html#beans-autowired-annotation-qualifiers但我找不到如何改变传递给@Qualifier注释的值。假设我有一个具有这种接口(interface)的模型实体:publicinterfaceCase{StringgetCountryCode();voidsetCountryCode(Str