草庐IT

Bean-IOC

全部标签

java - Spring bean 实例化顺序

我遇到了Bean实例化顺序很重要的问题。目前,下面的Bean3正在运行基于数据库的缓存放置操作,Bean1使用代理Bean2查询新创建的缓存。优先级是Bean3和Bean2在Bean1被实例化之前完全实例化,即当Spring容器出现时。这些bean位于单独的JARS中,Bean2对Bean1的引用未使用Autowiring。相反,服务定位器正在为其提供引用。我们使用Spring2.5.2而不是使用XML来实例化bean。任何帮助表示赞赏!JAR1(Spring项目)@Service("bean3")publicclassBean3implementsApplicationListene

java - 如何在 Spring STS 中查看 @Autowired bean 的 Bean 图?

我能够查看通过XML连接的任何bean的Bean图,但是当我有通过注释@Autowired的bean时,它们之间不显示任何箭头。根据STS#171和STS#1066它是很久以前实现的。注意:最后使用STS3.4.0.RELEASE测试如果我部署到tcServer并执行LiveBeanGraph,那么它可以工作,但不使用常规View。 最佳答案 改进feature被要求甚至关闭;但新票仍然说该功能是请求的-甚至在2.8中还没有关闭(STS-2396)。我还没有成功到达那里。没有快乐:(问题说-“当STS为验证目的或为bean图解析Au

java - 如何将 @Named bean 注入(inject) Junit 测试

我正在尝试将@Namedbean注入(inject)到Junit测试中。这在我的ejb模块中有效,但在我的war模块中同样的方法失败了。我想知道为什么我得到org.apache.openejb.OpenEJBException:Creatingapplicationfailed:couldn'tstartowbcontext。我知道这看起来与IssuewithEJB3.1injectedwithCDIbeanwhilerunningJUnit中的问题相同,但它不能与在另一个模块中工作的相同。源代码在这里:https://github.com/Crydust/guestbook工作测试:

java - 从 bean factory 访问 injectee 组件

假设我们有一个原型(prototype)范围的bean。publicclassFooConfiguration{@Bean@Scope("prototype")publicFoofoo(@AutowiredBarbar){returnnewFoo(bar);}}我们将这个bean注入(inject)到一个类TheDependent中。@ComponentpublicclassTheDependent{@AutowiredprivateFoofoo;}但是还有一个。@ComponentpublicclassAnotherOne{@AutowiredprivateFoofoo;}在每个@A

java - 将动态 bean 添加到 spring web 上下文

我需要能够将新bean添加到springweb上下文(在任何范围内),用于在编译时可能在类路径中定义也可能不定义的类。例如,我可以动态创建一些此类,然后为此类注册一个单例或sessionbean。我阅读了一些关于BeanFactoryPostProcessor的内容,但不确定它是否适用于Web上下文,如果我理解正确的话,它只会在实际加载bean实例之前起作用,而不是在那之后,或者我错了吗?我无法在AnnotationConfigWebApplicationContext中找到有关如何执行此操作的信息,至少在我的测试中,我动态创建的所有bean都没有注入(inject)到其他实例中,即使

java - 有状态 session bean 何时被销毁?

我是ejbs的新手,我想知道有状态sessionbean是否会被销毁。我在我的servlet中注入(inject)了一个有状态sessionbean。即使在30分钟后,我也看到该bean处于Activity状态。我正在使用jbosseap6.0。我相信HttpSession与有状态sessionbean无关。我使HttpSession无效以确保HttpSession与有状态sessionbean无关。那么如果我的应用程序有很多用户,如果我为每个用户创建一个新bean,我的服务器的性能就会下降。容器如何管理有状态sessionbean。什么时候删除或销毁bean?我读了this发布和其他

java - AspectJ 加载时间编织不适用于 Spring bean

我正在开发一个项目,该项目使用Java(而非xml)风格的Spring配置来连接依赖项。它还具有应该通过AspectJ编织到所需方法(通过注释)的分析逻辑。设置正在运行,我可以看到我想要的包中的类正在编织,并且分析信息正在从它们中注销。问题是织入不适用于@Bean类。我通过以下方式在aop.xml中启用了调试:而且我可以看到我想要的包中的类正在被编织,但看不到配置中的bean。如果我直接实例化类(而不是注入(inject)它们)编织工作。不幸的是,我不能在这里发布真正的代码,但这里有一个简单的例子:@Configuration@EnableLoadTimeWeaving(aspectj

java - 工厂模式 : Validating input when creating a bean (Guice/Guava)

我正在编写一个新应用,使用Guice进行依赖注入(inject),并使用Guava的先决条件进行属性验证。我正在使用工厂模式根据外部输入创建bean。问题是,验证输入的首选方式是什么?(在可维护性、清晰度等方面)让我们假设这些类:Bean.javapublicinterfaceBean{publicObjectgetFoo();}BeanImpl.javapublicclassBeanImplimplementsBean{privatefinalObjectfoo;publicBeanImpl(Objectparam){foo=param;}@OverridepublicStringg

java - Spring bean 延迟初始化

我在考虑Spring中bean的惰性初始化。对我来说,这里的“懒惰”意味着在引用bean时将创建它并不是很清楚。我预计Spring中的惰性初始化支持会有所不同。我认为这是一个基于“方法调用”的惰性创建。我的意思是,无论何时在方法上调用任何方法,都会创建它。我认为这可以通过创建特定bean的代理实例并在任何方法调用上进行初始化来轻松解决。我是否遗漏了一些未实现的原因?这个概念有什么问题吗?我们将不胜感激任何反馈/想法/答案。 最佳答案 您可以通过使用ScopedProxyMode.TARGET_CLASS(CGLIB)或ScopedP

java - 多重绑定(bind)的 IoC 问题

我是Java初学者,也是IoC。如何做事:publicclassFoo{//privateBarbar;//Barisaninterfaceprivateintvar;publicFoo(){}publicvoidsetVar(intvar){this.var=var;}publicBargetBar(){if(var==1){returnnewBarImpl1();//animplemantationofBarinterface}elseif(var==2){returnnewBarImpl2();//animplemantationofBarinterface}else{retur