问题标签 [applicationcontext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1057 浏览

java - 是否可以将上下文注入另一个上下文?

也许这个问题不是那么清楚,但是举个例子,我想我会清楚的。在我的项目中,我有两种测试:集成测试和场景测试。他们都需要一个数据源(带有一个定制的属性占位符)。

在集成测试用例的上下文中,只定义数据源和占位符,如下所示:

在我的场景测试用例上下文中,我也需要这些对象(连同其他一些东西),但我只想在我的场景上下文中创建一个集成上下文,所以是某种继承。

我已经classPathApplicationContext在我的场景测试用例中尝试过它(曾经使用延迟初始化为 true),如下所示:

但他并没有dataSource在场景上下文中创建一个。这是一个很难用谷歌搜索的问题,这就是我在这里问它的原因。我希望有人有解决方案。

0 投票
1 回答
3717 浏览

java - 从 Jar 中加载上下文

我需要澄清一下;我有一个我构建的罐子,在罐子里面有一个application-context.xml我需要加载的自定义文件。我在 jar 内的一个类中加载文件。当我设置这个 application-context.xml 的 url 时,目录是特定于我的 jar 的类路径,还是仍然是使用 jar-的类路径的项目?

例如 -

Jar 的类路径:

项目的类路径:

我知道这些 url 不准确 :P -- 但是,在我的上下文创建中,我将遵循哪个目录结构。这都是理论上的。今天有人问我这个问题,我不知道该怎么回答。我认为,如果您从 jar 中调用一个类,则类路径应该相对于该 jar 的内容。但是,我认为远非总是正确的 :)

0 投票
2 回答
7284 浏览

spring - Spring MVC 2.5 混合使用注释和 XML 配置,但 xml 被忽略

在我的 Spring MVC web 应用程序中,我想将基于 xml 的配置与注释混合:我使用 , 等注释@Controller@RequestMapping("bla.htm")s@RequestParam解析HttpRequestController方法。因此我添加了

到我的dispatcher-servlet.xml.

但是我的控制器有属性。这些属性可以通过@AutoWired注释注入。但我也确实定义了范围。所以我每个属性都有两个注释,这使得代码可读性差。所以我想在我的applicationContext.xml文件中注入依赖项。

有没有办法可以保留注释驱动的请求映射,但使用 context.xml 文件进行依赖注入?还是只能使用注释或 xml 配置?

注意:我用于依赖注入的 bean 位于不同的 xml 文件中。

PS:

我应该提到,我使用 Spring 2.5 并且无法升级它。

0 投票
2 回答
13787 浏览

spring - 组件扫描未在 Tomcat webapp 的 JAR 中找到 @Component

我刚刚在 Spring 错误系统 ( https://jira.springsource.org/browse/SPR-8551 ) 中提交了一个错误,但我仍然不确定我是否遗漏了什么

<context:component-scan/>我找到了这个声明的一个问题。给定以下两个类,它们位于 Web 应用程序的 WEB-INF/lib 中的同一 JAR 中(JAR 文件具有目录结构):

测试/TheBean.java:

测试/BeanSearcher.java:

如果我new BeanSearcher().init()在 jUnit 测试用例或其他类型的独立应用程序中运行,b 将被分配一个 TheBean 的实例,但如果我在 JSP 中运行它,ctx.getBean()则返回 null。

那么,我是做错了什么还是没有考虑到某些事情,这只是一个错误......?

编辑 8/8/2011:当我试图简化问题时,它似乎工作得很好,但是当我试图让它工作时,在 OpenCms 的初始化中,它失败了。现在我正在尝试寻找工作版本和不起作用的版本之间的差异。(类加载器,不同JAR或直接在WEB-INF/classes中的相关类的ubication,通过反射调用等)

0 投票
2 回答
2150 浏览

spring - 加载部分 Spring 上下文

我不是 Spring 专家,但我得到了一个带有巨大上下文文件(未分成模块)的遗留系统。

我想添加一些单元测试——使用实际的生产配置来验证系统的不同部分。然而,我开始使用这些ClassPathXmlApplicationContext/FileSystemXmlApplicationContext类来加载上下文 - 这需要很长时间。是否可以只加载上下文文件的一部分(递归)而不需要将原始文件分成模块?

更新:我将在这里发布我使用 maven 实现 Ralph 的解决方案:我的 pom.xml:

我的测试上下文transformation.xml:

0 投票
3 回答
1066 浏览

java - Spring Framework 中的应用程序上下文是用户特定的还是应用程序特定的?

您从 .xml 文件加载的应用程序上下文是用户特定级别还是应用程序级别,例如为所有用户加载一次上下文?还是每个用户都有单独的应用程序上下文?

在java中使用spring框架时?

0 投票
1 回答
796 浏览

xpath - 如何更改 ContextLoaderListener 的应用程序上下文路径

默认情况下,在我的应用程序中,org.springframework.web.context.ContextLoaderListener 在 WEB-INF 文件夹中查找 Applicationcontext.xml。现在我想将 Applicationcontext.xml 文件移动到 src/main/resources 文件夹。但是如果我这样做,我会收到错误 java.io.FileNotFoundException:无法打开 ServletContext 资源 [/WEB-INF/applicationContext.xml]。

如何指定 ContextLoaderListener 在资源文件夹中查找文件?请帮忙

0 投票
2 回答
763 浏览

spring - 将演示文稿(Struts)参数传递给(Spring)ApplicationContext并在Hibernate Interceptor中使用它们

很抱歉标题太长了,但我不知道其他方法可以具体说明。

是)我有的:

我正在开发一个审计跟踪模块,它使用 Hibernate 拦截器来拦截 Hibernate 调用并添加审计日志条目。这工作正常。

我的 Web 应用程序使用 Struts2 和 Spring。我的 Hibernate 拦截器可以访问 Spring 的 ApplicationContext。

我想要的是:

因为我想为每个审计日志条目“赋予意义”,所以我需要将在表示层(Struts)发出的每个请求的参数(例如字符串消息)传递给 Spring 的 ApplicationContext。这样,我可以访问 Hibernate Interceptor 中的参数并相应地记录它。

例子:

  1. Struts - 用户详细信息页面:setPassword(user1, mypass),生成一条新消息“User1 更改了他/她的密码”。
  2. 该消息被注入到 Spring 的 ApplicationContext 中。
  3. Hibernate Interceptor 拦截“更新”并从 Spring 的 ApplicationContext 中获取之前的消息,使用该消息创建一个新的日志条目。

你知道怎么做吗?

0 投票
0 回答
1291 浏览

android - 在 getApplicationContext() 中获取 NullPointerException

当我打开我的应用程序并且这是在后台时,我收到了 Nullpointer 异常。我的 onResume 调用了一个调用此方法的 Asyntask:

但正如你所看到的,我正在检查我的变量 mMyApp 是否为!= null。getApplicationContext() 是否有可能返回 null?

0 投票
1 回答
2905 浏览

spring - spring context.refresh() 和并发访问

我打算使用 spring 作为我们企业应用程序的配置服务。

这部分在 spring 参考指南和其他博客中有很好的记录。基本上使用属性文件和 context:property-placeholder 我计划在 bean 上实例化和填充值,然后由应用程序使用。

有时会更改属性文件,在这种情况下,我希望 bean 反映更改的值。我知道 ApplicationContext.refresh() 是刷新 bean 及其配置值的方法。ApplicationContext.refresh() 就像一个魅力。

但是,当刷新上下文时,我发现对 ApplicationContext.getBean() 的并发调用或对 bean 的任何 getter 操作都可能由于IllegalStateExceptionBeanCreationException而失败。

问题

  1. 对 context.refresh() 的调用是否可能不会影响其他并发调用
  2. 如果 context.refresh() 可以中断对应用程序上下文的并发访问,是否有任何策略可以避免这种情况发生。

您的指点将不胜感激。