我在Spring上下文中有几个bean,它们具有状态,所以我希望在单元测试之前/之后重置该状态。
我的想法是向helper类中添加一个方法,该方法只检查Spring上下文中的所有bean,检查用@before
或@after
注释的方法,并调用它们。
注意:简单地迭代所有已定义bean的解决方案是无用的,因为我有许多惰性bean,其中一些不能实例化,因为这在某些测试中会失败(例如,我有一个bean需要java.sql.datasource
,但测试工作,因为它们不需要那个bean)。
例如:
public static List<Object> getInstantiatedSigletons(ApplicationContext ctx) {
List<Object> singletons = new ArrayList<Object>();
String[] all = ctx.getBeanDefinitionNames();
ConfigurableListableBeanFactory clbf = ((AbstractApplicationContext) ctx).getBeanFactory();
for (String name : all) {
Object s = clbf.getSingleton(name);
if (s != null)
singletons.add(s);
}
return singletons;
}
问题内容: 我在Spring上下文中有几个具有状态的bean,所以我想在单元测试之前/之后重置该状态。 我的想法是向助手类添加一个方法,该方法仅遍历Spring上下文中的所有bean,检查用或注释的方法并调用它们。 如何从中获取实例化的 bean 列表? 注意:仅迭代所有定义的bean的解决方案是没有用的,因为我有很多惰性bean,并且其中一些不能被实例化,因为这在某些测试中会失败(即,我有一个需
问题内容: 无论如何,有没有指定实例化bean的顺序?即我想在其他bean之前实例化特定的bean,就像启动顺序一样。 我正在使用Spring 3.2和基于注释的声明方法。 问题答案: 如果豆 甲 取决于豆 乙 通过定义,或则的顺序被强制和由Spring容器固定。没问题 但是,如果要强制执行未通过显式依赖关系表示的特定的Bean创建顺序,请随时使用: 或更好(带有注释,也可以与Java配置一起使用
问题内容: 我正在开发一个具有基于Flex的前端和Spring / Hibernate后端的应用程序。 要使Facebook集成以目前的方式运行,我需要阅读后端前端javascript中设置的cookie,并在登录期间进行一些验证,以查看用户是否尝试欺骗其Facebook。登录。 这将非常容易,但是我不知道如何获取HttpServletRequest。我正在使用一个非常基本的Spring配置(这是
问题内容: 我正在开发一个具有基于Flex的前端和Spring / Hibernate后端的应用程序。 要使Facebook集成以目前的方式运行,我需要阅读后端前端javascript中设置的cookie,并在登录期间进行一些验证以查看用户是否试图欺骗其Facebook。登录。 这将非常容易,但是我不知道如何获取HttpServletRequest。我正在使用一个非常基本的Spring配置(这是我
我使用JSF和托管Beans创建了一个简单的应用程序。从托管bean,我试图实例化一个将数据存储到数据库的spring bean。然而,“@autowired”注释似乎不起作用,因为我得到了一个nullpointerexcpetion。我阅读了关于如何在Spring中使用JSF和托管bean的所有相关主题,但不能解决这个问题。也许有人可以看看下面的代码,给我一个提示? 服务Bean faces.c
需要一些关于Spring自动装配和范围的帮助。 这是基本的应用程序结构: > CustomHttpClient由我的应用程序中的多个服务使用。每当我使用CustomHttpClient时,我都会通过以下方式自动连接该客户端的实例: 我使用拦截器修改CustomHttpClient中的一些变量,如下所示: 现在,问题来了。如果我按照上述方式设置了所有内容,那么每当我通过拦截器更改CustomHttp