问题标签 [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-mvc - 当验证失败时,如何在 Spring MVC 中重新格式化带注释的日期?
我有一个 Spring-MVC 应用程序,它显示基于 bean 的表单。该 bean 有一个用以下注释的日期字段:
这按预期工作;日期以该格式显示。同时,bean 中的其他字段正在使用 JPA 验证注释进行验证。当用户提交表单时,我注册了一个自定义数据转换器,以将传入的字符串转换为看起来运行良好的日期。
因此,当用户提交表单并且其他字段之一的验证失败时,就会出现问题。当验证错误将用户发送回表单输入页面时,日期格式已更改为您在对日期对象调用 toString() 后所期望的格式。
有没有办法在对象被发送回表单之前重新触发对象上的 DateTimeFormat 注释?
spring - Spring注解:在@component类中设置@sessionAttributes
是否可以在管理器类(不是控制器并标记为@component 的类)中设置会话属性?场景是这样的,从我的控制器中,我正在调用一个执行某些逻辑的管理器类。我想将此逻辑的结果存储在会话中,以便我可以在以后的请求中使用它。
java - 自定义 WebArgumentResolver,例如 @PathVariable
我想为 id -> 实体使用自定义 WebArgumentResolver。如果我使用请求参数就很容易了:使用参数键来确定实体类型并相应地查找。
但我希望它像 @PathVariable 注释。
例如。
http://mysite.xzy/something/enquiryId/itemId会触发这个方法
@Coerce 注释会告诉 WebArgumentResolver 根据其类型使用特定服务。
问题是确定哪个 uri 部分属于实体。
有人可以解释 PathVariable 注释是如何做到的。是否可以用我的自定义注释来模拟它。
谢谢。
java - java - Spring MVC:将带有旧 URL 的请求重定向到新 URL
我已将我的一个网站的 URL 样式更改为 RESTful:
在搜索引擎使用新 URL 重新索引我的网站之前,人们将继续在搜索引擎上看到旧 URL。如果他们使用旧 URL 访问我的网站,他们将收到 404。
我想创建一种机制(通过编写控制器、错误处理程序或其他),它将:
- 捕获未找到映射的请求
- 检查是否有为此请求路径映射的新 URL。
- 如果找到新 URL,则重定向到该 URL。
- 否则显示“404 页面未找到”页面。
如何才能做到这一点?
java - Spring MVC 注解
我已经看过 Spring 的文档几次,但我似乎无法让 @Controller 等注释工作。
我正在我的 POM 中加载依赖项和存储库(...是我的特定值):
在我的 web.xml 中,我正在设置调度程序 servlet:
在 WEB-INF 下我有 servlet-context.xml (...是我的控制器包):
我想我一定是错过或忘记了一些简单的事情。Eclipse 无法识别注释,maven 无法构建项目。有谁可以帮我离开这里吗?
编辑
为了进一步澄清,在eclipse中,添加注释会导致:
运行 mvn clean install 会导致:
删除运行时范围会导致以下 Maven 错误:
spring - 正确使用子类化 spring ContextLoader 进行测试
对于我的带有 junit 的 spring 应用程序的集成测试,我正在子类化org.springframework.test.context.ContextLoader
,因为我想使用已经存在XmlWebApplicationContext
的来连接我的测试类,如下所示:
我的 ContextLoader 的实现如下:
公共类 MyContextLoader 实现 ContextLoader {
在loadContext(...)
方法中放置断点时,我可以调用 getBean(AccountDao.class) 并且一切正常。但是,似乎我的测试类实际上不是自动装配的。我调试了一下并逐步完成了spring代码,似乎在方法 AbstractAutowireCapableBeanFactory.populateBean(String beanName, AbstractBeanDefinition mbd, BeanWrapper bw) 中没有为我的类Test设置PropertyValues。
也许,我是否设置了注释处理错误?
代码信息:正如您可能猜到的那样,我正在做一个集成测试,因此启动了一个嵌入式 tomcat 服务器来测试我的 RESTful web 服务。我的帖子中显示了如何从嵌入式 tomcat 获取应用程序上下文:使用嵌入式 Tomcat 6 访问 Spring
我期待着您的回复。埃里克
java - Spring的3.1 MvcAnnotationDriven如何实现?
这是来自 Spring 3.1 Spring Source 博客的代码示例:从 XML 到 @Configuration我正在尝试在我的应用程序中实现(这是在 Spring 2.0 中完成的,而不是由我完成的,所以需要大量学习)。
但是,我无法理解.argumentResolvers(new CustomArgumentResolver())的意义,他们的 CustomArgumentResolver 看起来像下面这样。它有什么意义?
java - 如果找不到,@PathVariable 可以返回 null 吗?
@PathVariable
如果路径变量不在 url 中,是否可以返回 null ?否则我需要做两个处理程序。一个 for/simple
和另一个 for /simple/{game}
,但如果没有定义游戏,我会从列表中选择第一个,但是如果定义了游戏参数,那么我会使用它。
这就是我尝试打开页面时得到的结果/simple
:
原因:java.lang.IllegalStateException:在@RequestMapping 中找不到@PathVariable [示例]
java - 在控制器中注入属性值的最佳方法是什么?
这真的是如何从属性文件在控制器中注入属性的最简单方法吗?然后它需要在每个需要一些属性的控制器上导入属性文件。在像我这样的项目中,大约有 30 个控制器,其中 10 个需要这个国家/地区的财产,我猜它看起来像一团糟。我是否理解@Value
正确的用法?
properties-config.xml (跳过 xml 和架构的东西)
此外,当尝试在多个控制器中导入 properties-config.xml 资源时,我会收到此类消息。这似乎不是正确的方法,但我想不出更好的方法..
java - Spring 3.0 中的 FactoryBeans 和基于注解的配置
Spring 提供了FactoryBean
允许对 bean 进行非平凡初始化的接口。该框架提供了许多工厂 bean 的实现,并且——当使用 Spring 的 XML 配置时——工厂 bean 很容易使用。
但是,在 Spring 3.0 中,我找不到令人满意的方法来使用带有基于注释的配置(née JavaConfig)的工厂 bean。
显然,我可以手动实例化工厂 bean 并自己设置任何必需的属性,如下所示:
FactoryBean
但是,如果实现了任何特定于 Spring 的回调接口,例如InitializingBean
、ApplicationContextAware
、BeanClassLoaderAware
或@PostConstruct
例如,这将失败。我还需要检查FactoryBean,找出它实现了哪些回调接口,然后通过调用等方式自己实现这个setApplicationContext
功能afterPropertiesSet()
。
这让我感觉很尴尬和背对前:应用程序开发人员不应该实现 IOC 容器的回调。
有谁知道从 Spring Annotation 配置中使用 FactoryBeans 的更好解决方案?