问题标签 [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.
java - spring 3.1 @Cacheable 示例
我是 spring 注释的新手,我想创建一个示例示例,显示spring 3.1 中@Cacheable 注释的使用是否有人指导创建这个?
java - 带有 2 个事务管理器的 @EnableTransactionManagement 注释
我正在使用@Configuration
注释来配置 spring 而不是 xml 文件。我正在使用不同的会话工厂和不同的事务管理器配置 2 个数据源。我在这里遇到了@EnableTransactionManagement
注释问题。我在其文档中读到,
@EnableTransactionManagement
更灵活;它将回退到PlatformTransactionManager
容器中任何 bean 的按类型查找。因此,名称可以是“txManager”、“transactionManager”或“tm”:这并不重要。
这意味着无论我给方法起什么名字,PlatformTransactionManager
当我有 2 个事务管理器时,它总是会搜索返回对象的方法。现在的问题是,当我测试这个类时,它给了我错误:
org.springframework.beans.factory.NoSuchBeanDefinitionException
:没有定义类型 [org.springframework.transaction.PlatformTransactionManager
] 的唯一 bean:预期单个 bean,但找到了 2
我什至尝试拥有 2 个不同的配置类,但徒劳无功。在 xml 配置中,情况并非如此。<tx:annotation-driven transaction-manager="" />
我用两个标签注册了我的两个事务管理器,它工作正常。但不能在这里对注释做同样的事情。
如果我想在 Spring 注解的配置类中用 2 个不同的事务管理器配置 2 个数据源,我该怎么办?
validation - Spring MVC 3 并从 @Valid 返回验证错误到页面
我累了。在过去的两周里,我一直在做一个 Spring MVC 项目,我发现文档充其量是误导性的,所以我现在求助于求助。太好了……请帮忙!
问题
我想弄清楚的是,为什么在下面的设置中,验证错误没有被发送回视图,也就是说各种frm:error(s)
标签没有显示任何错误。我已经通过运行时调试检查了 POST 请求映射的 BindingResult 参数,并且错误在那里。鉴于文档在这方面充其量是模糊的,任何人都可以指出我放错位置的分号或启发我了解我缺少什么秘诀来向用户提供验证错误以告知他们他们的个人不足之处?
作为奖励,如果有人知道如何修改自动枚举验证,以便我可以从消息包中添加自己的验证错误消息,我将非常感激。
请记住,我试图保留这个纯粹的 Spring MVC 3.0。我在 2.5.6 上做得很好,但我几乎没有使用注释,所以这个项目和其他项目一样是一个学习练习。我想使用纯粹的 3.0 注释等,即使我的大脑正在反抗那些在梦中嘲笑我的文档,让我只想放弃命令对象,将 HttpServletRequest 设置为我唯一的 RequestMapping 参数,并且已经完成用它。
堆栈:
Spring 3.0.6
瓷砖 2.2.2
Glassfish 3.1.1
编码:
春天应用-servlet.xml
春天 main.beandef.xml
控制器代码
JSP 代码
笔记
- 我尝试在 Spring 配置文件中使用根据文档
<mvc:annotation-driven validator="userValidator"/>
使 userValidator 全局化,但由于某种原因,从未找到、加载或使用用户验证器。我已经尝试在文件中进行配置,但没有任何乐趣。所以我求助于@InitBinder 方案。[appname]-servlet.xml
main.beandef.xml
- 显然,如果您的请求映射没有
BindingResult result
作为方法参数,整个验证事情就会爆炸,而不是返回到带注释的请求方法,而是抛出一个包含验证错误的异常,并且 Spring 尝试将浏览器发送到 404 页面。你必须有 BindingResult (或者可能是其他一些弹簧对象)作为参数(现在总共!)没有记录。 - 枚举。如果您将
frm:select
spring 标记用于命令对象的枚举数据成员并添加无属性<frm:options />
子标记,那么 Spring 将自动使用其值和文本设置为枚举值的选项填充下拉选择getName
。我还没有找到如何将自定义资源包消息绑定到它。无论如何,此功能完全没有记录。
java - 如何在 web.xml 中注册 Spring @Configuration 注释类而不是 applicationContext.xml 文件?
我在 Web 应用程序中一起使用 jsf 和 spring。我已经在一个配置类中配置了数据源和会话工厂,它使用诸如此类的注释@Configuration, @ComponentScan
。我的项目中没有任何 applicationContext.xml 文件,因为我正在处理配置类中上下文 xml 的每个条目。测试用例成功运行,但是当我部署我的 Web 应用程序时,它给了我错误
java.lang.IllegalStateException:未找到 WebApplicationContext:未注册 ContextLoaderListener?
现在,如果我在 web.xml 中给出监听器类,
它给了我错误,
/WEB-INF/applicationContext.xml 未找到
根据 的文档ContextLoaderListener
,确实如果我不明确给出contextConfigLocation
参数web.xml
,它会搜索名为applicationContext.xml
in的默认 spring 上下文文件web.xml
。现在,如果我不想使用 spring 上下文文件并使用注释进行所有配置,我该怎么办?我应该如何注册监听器类ContextLoaderListener
,以便在不使用 xml 文件和仅使用注释的情况下,我能够使用 spring 和 jsf 运行我的 Web 应用程序?
spring-transactions - 我可以将@transactional 属性注入注解吗?
我有在 Spring 上下文文件中定义的服务,我们正在使用 EL 注入事务属性:
我有一些使用@Service
注释定义的服务。是否可以注入类似于我们在 xml 文件中执行的方式的属性,语法是什么?IE:
spring - JSP 视图中的 Spring 3.0.6 MVC @PathVariable 和 @RequestParam 空白/空
我一直在尝试设置一个非常简单的控制器/视图,但无法使其工作。在我的web.xml
中,我定义了一个<servlet>
被调用的servlet-context.xml
,它运行正常。在servlet-context.xml
中,我设置了:
除其他事项外。我的理解是,这就是使用@
注释所需的全部内容。
在我的控制器中,我有:
在我student.jsp
看来,我有:
当我向 发出请求时http://localhost:8080/application/student/xyz123/?studentid=456
,我得到了我期望的视图,但所有变量都是空白或 null:
我怀疑这是我的web.xml
或servlet-context.xml
设置方式的问题,但我在任何地方都找不到罪魁祸首。据我所知,任何日志中都没有显示任何内容。
更新:我的代码基于spring-mvc-showcase的这一部分:
...这对我来说很好。我不明白为什么这个例子有效,但我的没有。是因为他们正在做一些不同的事情servlet-context.xml
吗?
java - 将 POJO 中的值 Spring 加载到 App 上下文中
是否可以通过某种方式将值从 POJO 加载到 Spring appcontext.xml 中?
例如,我有一个类似的 POJO,
最终目标是我希望somethingElse
使用设置中的值自动装配。有什么办法可以做到这一点,因为我相信你不能在 Spring 中调用方法?
示例应用上下文
spring - HTTPSessions 和 Spring
我正在使用 spring 开发一个 web 应用程序。
这就是问题所在,假设我有这三个网址,
www.sample.com/login.do
www.sample.com/homePage.do
www.sample.com/about.jsp
我想要做的是 about.jsp 页面应该能够访问,即使用户登录与否。如果用户没有登录并尝试访问 homePage.do,他应该被重定向到 login.do 页面,反之亦然。
我认为为此我需要 HTTPSessions,但我不知道如何在 Spring 中管理 HTTPSessions。
我可以使用一些过滤器来完成这个吗?如果是这样,你能指导我完成吗?
我希望使用 Spring MVC 和/或 Spring Annotations。
spring-mvc - @ModelAttribute 形成的模型不能在另一个控制器中使用
我的 UserController.java
我的 SuccessController.java
我没有得到"user"
模型SuccessController
,所以当我使用${user.name}
in时userSuccess.jsp
,我没有得到任何价值。
当我在第 1 行设置用户模型时,为什么我不在另一个控制器中获取此值?如果我将这个模型保存在 Session using 中@SessionAttributes
,我可以在另一个控制器中访问它。
那么使用 形成的模型的范围是什么@ModelAttribute
?
spring-mvc - @SessionAttribute : 模型什么时候初始化?
当我想要在 Spring 3 中的 Session 范围内的模型时,我使用以下方法。控制器中的注释:-
然而,这只是 myModel 的声明。在什么时候它会被初始化,以便我在视图中使用它。Spring 如何知道这个模型的类类型?
有人可以用例子解释一下吗?