问题标签 [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.
spring - 在多个模块中使用 Spring 缓存注解
我有一个 util 模块,它生成一个 jar 用于其他应用程序。我希望这个模块使用缓存,并且更喜欢使用 Spring 的annotation-driven
缓存。
所以Util-Module
会有这样的事情:
数据管理器.java
数据管理器-ehcache.xml
数据管理器-spring-config.xml
我还希望我的可部署单元通过 Spring 注释进行缓存,同时将上述 jar 作为依赖项。所以我Deployable-Unit
会有这样的事情:
MyApp.java
我的应用程序 ehcache.xml
我的应用程序弹簧配置.xml
问题:
是否可以在主项目和依赖模块中使用注释驱动的缓存,同时保持配置分离?
如果不是,请解释为什么不这样做。如果是这样,将不胜感激对上述配置中需要更改的内容的解释。
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。
控制器接口定义如下所示:
和实施:
java - 将 Spring 基于 XML 的配置转换为基于 Java 的配置
我尽量不使用任何 xml。
像这样:转换为@Bean
这里有问题。
尝试将“com.cloudlb.domain.User”转换为 Class [] 不起作用。
错误:铸造问题。
先感谢您。
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运行)?
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 批注或编写客户端代码以避免上述错误?
谢谢你。
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 类,但我在其中放置了常用功能..
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
。
spring - 如何向 Spring MVC 添加自定义注解?
谁能解释我需要做些什么来实现我自己的注释,以便为我的网络请求添加功能?
例如:
这@RequiresSomeSpecialHandling
将是我自己的注释,它会导致在给定 Web 请求之前或之后完成一些特殊工作/abc
。
我知道在非常高的层次上,我需要编写一个 bean 后处理器,扫描我的注释类,并在需要时注入自定义 mvc 拦截器。但是有什么捷径可以简化这个任务吗?尤其是上面的两个例子。
提前致谢,
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 执行此操作的最佳方法是什么?
spring - Spring 3.1 缓存注解 EhCache
我目前正在使用 Spring 3.1 Cache 使用 EhCache 来实现方法缓存。考虑下面的代码片段:
如果我调用 findByPK() 它首先访问数据库,然后再访问缓存,因此方法缓存有效。findAll() 同上。但是,有什么方法可以指示 spring 让 findByPK() 调用识别 findAll() 返回的结果?