问题标签 [spring-annotations]

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 投票
5 回答
18009 浏览

spring - 在多个模块中使用 Spring 缓存注解

我有一个 util 模块,它生成一个 jar 用于其他应用程序。我希望这个模块使用缓存,并且更喜欢使用 Spring 的annotation-driven缓存。

所以Util-Module会有这样的事情:


数据管理器.java

数据管理器-ehcache.xml

数据管理器-spring-config.xml


我还希望我的可部署单元通过 Spring 注释进行缓存,同时将上述 jar 作为依赖项。所以我Deployable-Unit会有这样的事情:


MyApp.java

我的应用程序 ehcache.xml

我的应用程序弹簧配置.xml


问题:

是否可以在主项目和依赖模块中使用注释驱动的缓存,同时保持配置分离?

如果不是,请解释为什么不这样做。如果是这样,将不胜感激对上述配置中需要更改的内容的解释。

0 投票
1 回答
1086 浏览

java - Spring MVC 3.1.0 错误?升级后不再自动检测控制器

我正在编写使用Spring MVC将 Spring bean 与类似 REST 的通道绑定的 Web 应用程序。

<mvc:annotation-driven/>我已经在我以前的应用程序(纯 XML 配置)和使用功能的示例中创建了基本配置。我<context:component-scan base-package="my.package"/>在 spring xml 文件中指向一个带有控制器的包。

它在Spring 3.0.6.RELEASE中工作。但是,升级到3.1.0.RELEASE后,我的控制器停止检测,并且没有注册任何频道。Spring 上下文不包含HelloChannel接口的实现。

这是这个 Spring 版本中的错误,还是我正在使用已弃用的配置,在较新版本中不再支持?我没有收到错误或警告,只是没有自动检测到 bean。

控制器接口定义如下所示:

和实施:

0 投票
2 回答
12257 浏览

java - 将 Spring 基于 XML 的配置转换为基于 Java 的配置

我尽量不使用任何 xml。

像这样:转换为@Bean

这里有问题。

尝试将“com.cloudlb.domain.User”转换为 Class [] 不起作用。

错误:铸造问题。

先感谢您。

0 投票
2 回答
2094 浏览

integration-testing - Apache Camel 中是否有注释可以在测试期间加载特定的 RouteBuilder?

假设我在同一个 RouteBuilder 上有几个测试,每个测试的配置都不同。

现在,Spring 测试应该:

  • 扩展诸如 AbstractJUnit4SpringContextTests 之类的东西
  • 使用 @ContextConfiguration(locations="test-context.xml") 进行注释
  • 在上下文中包含 RouteBuilder:<camel:camelContext id="whatever"><camel:routeBuilder ref="routeBuilderUnderTesting" /></camel:camelContext>

这意味着每个测试类必须有一个特定的上下文 xml 文件指向所需的 RouteBuilder(即正在测试的 RouteBuilder 的一个版本,但经过专门配置)

如果我希望在同一个上下文 xml 中测试所有版本的 RouteBuilders(或者甚至不需要,只是用 @Component 注释它们而不是将它们放在 xml 中),并且在每个测试中指定 RouteBuilder 的实际实现怎么办?去测试?

骆驼弹簧测试中是否有这样的注释(告诉测试哪个bean作为RouteBuilder运行)?

0 投票
2 回答
12360 浏览

spring - 从 wsdl 创建客户端时缺少 @XmlRootElement

我有一个关于使用基于第三方 wsdl 文件的 Web 服务的问题。

我采用了给定的 wsdl 并生成了所需的 120 多个 java 文件。这个过程是通过使用xjc完成的。在Sping环境中,我能够通过调用几个公开的服务成功地创建几个JUnit测试。

但是,为了成功测试这些服务,我必须将@XmlRootElement注释添加到生成的 java 文件中。否则,我会遇到错误说明

“com.sun.istack.SAXException2:无法将类型“com.beam.services.client.UserGetRequestData”编组为元素,因为它缺少 @XmlRootElement 注释”

.

我已经用尽了搜索……我无法控制 wsdl 文件的创建/结构方式。如何生成 java 文件以确保包含 @XmlRootElement 批注或编写客户端代码以避免上述错误?

谢谢你。

0 投票
4 回答
2622 浏览

java - Struts2 + Spring Security 2.06:尝试在 Action 方法上使用 @Secured 时,Valuestack 为空

在开始之前,我必须说我找到的最接近的答案是这里,但老实说,我真的不明白那里发生了什么。

我正在使用带有自定义身份验证提供程序和访问决策管理器的 Struts2 + Spring Security 2.06,以消除对“ROLE_”前缀的需要。

我的 applicationContext-security.xml 看起来像这样:

我的 web.xml 的相关部分:

我只是在我的一个动作类中使用@Secured,如下所示:

将@Secured注解添加到action中的方法后,所有参数都变为null,实际上看起来valuestack为null:

我在 Spring Security FAQ 中读到 Controller/Action 不是保护方法的最佳位置,但 FAQ 中描述的失败是 @Secured 注释不起作用,即方法将不被保护。

就我而言,我什至在到达该方法之前就得到了一个空值堆栈;execute() 不安全,只有 editUser() 甚至还没有被调用。

我希望有人有相同的经验并找到解决方案..谢谢。

更新: 我想知道这是否会有所帮助:Spring Security - 我如何启用方法安全注释?

我的 Action 类目前扩展了一个 BaseAction 类,但我在其中放置了常用功能..

0 投票
1 回答
4541 浏览

spring - 将 @value 与 PropertyPlaceholderConfigurer 一起使用

我有带有条目的属性文件report.properties (\WEB-INF\classes\properties\report.properties):

applicationContext-reports.xml (\WEB-INF\config\applicationContext-reports.xml) 与条目:

网页.xml

在我的控制器中,我有:

但是当我打印它来检查它的值时:

而不是输出:(reports/report5.jrxml取自属性文件)它给出reportTemplatePath=${reportTemplate}

编辑:为了清楚起见并显示其所在位置,此处复制了 OP 评论System.out.println

0 投票
3 回答
9620 浏览

spring - 如何向 Spring MVC 添加自定义注解?

谁能解释我需要做些什么来实现我自己的注释,以便为我的网络请求添加功能?

例如:

@RequiresSomeSpecialHandling将是我自己的注释,它会导致在给定 Web 请求之前或之后完成一些特殊工作/abc

我知道在非常高的层次上,我需要编写一个 bean 后处理器,扫描我的注释类,并在需要时注入自定义 mvc 拦截器。但是有什么捷径可以简化这个任务吗?尤其是上面的两个例子。

提前致谢,

0 投票
3 回答
713 浏览

jsp - 为 REST 样式 URL 配置 DispatcherServlet

我正在尝试学习 Spring MVC 基础知识,并且在将 URL 解析为控制器的方式方面存在问题。我正在使用本教程作为跳板。我可以让它在 tomcat 下正常运行,并且 url /context/welcome.htm 解析为这样注释的控制器:

web.xml 配置使用

我希望能够输入 /context/welcome 并解析 HelloWorldController 但这不起作用。我尝试设置 * 但这会导致 servlet 无法加载。如果有人能解释为什么这个 url 模式无效,以及如何配置这个控制器来处理所有请求,比如 /welcome 和 /welcome 而不仅仅是那些以 *.htm 结尾的请求,那将不胜感激。在 ASP.NET MVC 中,提供了一个路由页面来调试此类控制器映射问题。使用 Spring 执行此操作的最佳方法是什么?

0 投票
1 回答
2668 浏览

spring - Spring 3.1 缓存注解 EhCache

我目前正在使用 Spring 3.1 Cache 使用 EhCache 来实现方法缓存。考虑下面的代码片段:

如果我调用 findByPK() 它首先访问数据库,然后再访问缓存,因此方法缓存有效。findAll() 同上。但是,有什么方法可以指示 spring 让 findByPK() 调用识别 findAll() 返回的结果?