草庐IT

autowiring

全部标签

java - 如何在 @Configuration/@Bean 使用的单元测试中禁用 Spring Autowiring

我想使用spring-test配置内部类(@Configuration)配置组件测试。测试的组件有一些我想为测试模拟的服务。这些服务是类(不使用接口(interface))并在其中具有Spring注释(@Autowired)。Mockito可以轻松地模拟它们,但是,我发现无法禁用SpringAutowiring。我如何轻松复制的示例:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes=SomeTest.Beans.class)publicclassSomeTest{//configuredincomp

java - 如何在 @Configuration/@Bean 使用的单元测试中禁用 Spring Autowiring

我想使用spring-test配置内部类(@Configuration)配置组件测试。测试的组件有一些我想为测试模拟的服务。这些服务是类(不使用接口(interface))并在其中具有Spring注释(@Autowired)。Mockito可以轻松地模拟它们,但是,我发现无法禁用SpringAutowiring。我如何轻松复制的示例:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes=SomeTest.Beans.class)publicclassSomeTest{//configuredincomp

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 预计至少有 1 个 bean 有资格作为此依赖项的 Autowiring 候选者

我在使用这个Autowire时遇到了问题:@ControllerpublicclassChiusuraController{@AutowiredprivateChiusuraProviderchiusuraProvider;}用这个bean:@Service@TransactionalpublicclassChiusuraProviderextendsThreadProvider{publicvoidrun(){}}延伸publicabstractclassThreadProviderextendsThreadimplementsInitializingBean,Runnable,Di

Spring 预计至少有 1 个 bean 有资格作为此依赖项的 Autowiring 候选者

我在使用这个Autowire时遇到了问题:@ControllerpublicclassChiusuraController{@AutowiredprivateChiusuraProviderchiusuraProvider;}用这个bean:@Service@TransactionalpublicclassChiusuraProviderextendsThreadProvider{publicvoidrun(){}}延伸publicabstractclassThreadProviderextendsThreadimplementsInitializingBean,Runnable,Di

java - 为什么使用构造函数参数 Autowiring 原型(prototype)bean时不调用@PostConstruct方法

我有一个原型(prototype)范围的bean,我想通过@Autowired注解注入(inject)它。在这个bean中,还有@PostConstruct方法,它没有被Spring调用,我不明白为什么。我的bean定义:packagesomepackage;importorg.springframework.context.annotation.Scope;importorg.springframework.stereotype.Component;importjavax.annotation.PostConstruct;@Component@Scope("prototype")pu

java - 为什么使用构造函数参数 Autowiring 原型(prototype)bean时不调用@PostConstruct方法

我有一个原型(prototype)范围的bean,我想通过@Autowired注解注入(inject)它。在这个bean中,还有@PostConstruct方法,它没有被Spring调用,我不明白为什么。我的bean定义:packagesomepackage;importorg.springframework.context.annotation.Scope;importorg.springframework.stereotype.Component;importjavax.annotation.PostConstruct;@Component@Scope("prototype")pu

java - Spring Data JPA - 注入(inject)失败 - BeanCreationException : Could not autowire field

我按照here发布的教程进行操作让基础应用程序与SpringDataJPA一起工作。现在,我如何理解,使用配置应该导致SpringDataJPA扫描该包以查找扩展JpaRepository的接口(interface)并为其创建一个concreatebean,以便可以使用简单的Spring@Autowired在我的服务类中的任何位置使用它。但它失败了,说它找不到带有className的bean(这是bean在创建时获得的默认名称,只需使用去大写的ClassName)。但是,当我像这样在applicationContext中手动配置bean时:Spring能够找到bean。然后我当然会得到

java - Spring Data JPA - 注入(inject)失败 - BeanCreationException : Could not autowire field

我按照here发布的教程进行操作让基础应用程序与SpringDataJPA一起工作。现在,我如何理解,使用配置应该导致SpringDataJPA扫描该包以查找扩展JpaRepository的接口(interface)并为其创建一个concreatebean,以便可以使用简单的Spring@Autowired在我的服务类中的任何位置使用它。但它失败了,说它找不到带有className的bean(这是bean在创建时获得的默认名称,只需使用去大写的ClassName)。但是,当我像这样在applicationContext中手动配置bean时:Spring能够找到bean。然后我当然会得到