草庐IT

Bean-IOC

全部标签

java - 如何将spring bean注入(inject)spock测试

我是spock的新手。我正在尝试针对使用JDK1.7、Spring3.1、Groovy1.8.6、Spock0.6、Maven3.0.4的独立Java应用程序编写Spock单元测试。一个基本的helloworldspock测试正在运行。但是,当我尝试测试springbean时,我发现它们没有被注入(inject)。我使用提到的方法here.businessObjectDao在whenblock中为空。我如何让它工作?@ContextConfiguration(locations="classpath*:test-appContext.xml")classBusinessObjectPe

java - 检测 RefreshScope bean 的刷新

据我了解,当您使用SpringCloud的RefreshScope注解时,会注入(inject)一个对数据的代理,如果支持信息发生更改,代理会自动更新。不幸的是,我需要找到一种在刷新发生时收到警报的方法,以便我的代码可以从刷新范围的bean中重新读取数据。简单示例:计划任务的计划存储在CloudConfig中。除非您等到任务的下一次执行(这可能需要一段时间)或定期轮询配置(这看起来很浪费),否则无法知道配置是否已更改。 最佳答案 EnvironmentChangeEvent当Environment发生变化时被触发.就SpringCl

java - 我是不是误解了 Java Bean 方法命名约定,或者这是一种异常情况?

我的代码中发生了神秘事件。这是bean的片段:publicListgetCFrags(){returncFrags;}publicvoidsetCFrags(Listfrags){cFrags=frags;}这是我的View代码(标记文件)中的片段cFrags:[${topic.cFrags}]其中topic是bean类型的对象。这是错误:javax.el.PropertyNotFoundException:Property'cFrags'notfoundontypecom.company.beans.BeanClass还有一件事需要考虑。eclipse生成的setter存在细微差别。

java - 是否可以将包中的所有类注册为 Spring bean

我熟悉基于SpringsJava的配置选项,包括@Component和@Configuration与@Bean注释的结合使用注册Springbean。但是,当将一个体面大小的项目转换为Spring时,系统地接触项目中的所有类并使用@Configuration@Bean进行更新可能会非常耗费人力或者用@Component注释每个类。我们有一个大型Groovy项目要转换,我想简化这个过程。我的问题:Spring中是否提供了一种工具,允许您告诉Spring自动配置特定包中的所有有效bean候选类?如果没有,还有哪些其他选项可用? 最佳答案

java - *不是*通过依赖注入(inject)访问 Spring bean

我们有一些在运行时创建的域对象-而不是由Spring。这些域对象需要访问一些由Spring管理的服务类型bean。在运行时创建的域对象如何动态访问Springbean(而不是通过DI)? 最佳答案 @duffymo的回答是这个问题最常见的解决方案,您可能应该遵循。但是,如果您觉得很无礼,并且您的情况支持它,那么您可以考虑使用Spring的AspectJ支持autowireyournon-spring-manageddomainobjectsSpringBean:[...]containsanannotation-drivenaspe

java - 将 BeanFactory 注入(inject) Bean

我想将一个SpringBeanFactory注入(inject)到由同一个BeanFactory创建的Bean有什么办法吗?顺便说一下,我正在开发一个网络应用程序。如果不是,我知道我可以通过RequestContext获取BeanFactory,但是我想注入(inject)BeanFactory的bean不在requestContext中,但仍然在应用上下文中。我可以这样做吗? 最佳答案 如果启用了注释配置模式,那么这应该可以工作classBean@AutowiredBeanFactoryfactory;...

java - 如何使用 spring java 配置在单例 bean 中生成原型(prototype)对象

这是我现在拥有的,效果很好。它所做的只是一个市场类,它返回一个项目对象数组:我有类(class)市场classmarket{publicArrayListcreateItems(HashMapmap){ArrayListarray=newArrayList();for(Map.Entrym:map.entrySet()){Itemitem=newItem();item.setName(m.key());item.setValue(m.value());array.add(item);}returnarray;}}类Item是一个简单的类,带有用于名称和值的getter和setter这是

java - idea检查batis mapper bean错误

有Spring和MyBatis的Web项目。我使用IntelliJIDEA进行开发。IDEA无法正确检查MyBatisbean并产生烦人的下划线,尽管存在指向数据访问对象的链接。检验意见:Couldnotautowire.Nobeansof'ApplicationMapper'typefound.我的Spring和MyBatis配置:Spring:mybatis-config.xml:有办法解决这个小问题吗? 最佳答案 @Repository@MapperpublicinterfaceApplicationMapper{会成功的

java - 未调用 Resteasy Bean 验证

问题背景我有一个通过Resteasy的SpringContextLoaderListener使用Spring的Resteasy服务。这是基于Resteasy版本3.0-beta-6构建的。我想对传入的请求使用bean验证,但我无法让Resteasy调用validator。它就像没有配置验证一样,只是将无效的输入对象传递给方法。问题如何在Resteasy中启用bean验证?我尝试过的我做了以下事情:使用@ValidateRequest注释了我的资源类用@Valid注解了方法参数注释了我的输入类的约束。添加了对resteasy-hibernatevalidator-provider的依赖资

java - 如果有另一个具有手动设置属性的同一类的 bean,则不会发生 Autowiring

我想通过xml配置文件创建两个相同类的bean。该类有一个带注释的setter将由spring填充。在其中一个bean定义中,我还手动提供值以覆盖注释中的一个。但是当我这样做时,spring不再处理注释连接。这是演示此效果的最小代码,使用了@Value为简单起见,但它与@Autowired相同:importorg.springframework.beans.factory.annotation.Value;importjavax.annotation.PostConstruct;publicclassAutowireTest{publicStringtestField;@PostCon