问题标签 [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 投票
1 回答
1105 浏览

spring-mvc - 当验证失败时,如何在 Spring MVC 中重新格式化带注释的日期?

我有一个 Spring-MVC 应用程序,它显示基于 bean 的表单。该 bean 有一个用以下注释的日期字段:

这按预期工作;日期以该格式显示。同时,bean 中的其他字段正在使用 JPA 验证注释进行验证。当用户提交表单时,我注册了一个自定义数据转换器,以将传入的字符串转换为看起来运行良好的日期。

因此,当用户提交表单并且其他字段之一的验证失败时,就会出现问题。当验证错误将用户发送回表单输入页面时,日期格式已更改为您在对日期对象调用 toString() 后所期望的格式。

有没有办法在对象被发送回表单之前重新触发对象上的 DateTimeFormat 注释?

0 投票
1 回答
1135 浏览

spring - Spring注解:在@component类中设置@sessionAttributes

是否可以在管理器类(不是控制器并标记为@component 的类)中设置会话属性?场景是这样的,从我的控制器中,我正在调用一个执行某些逻辑的管理器类。我想将此逻辑的结果存储在会话中,以便我可以在以后的请求中使用它。

0 投票
2 回答
3892 浏览

java - 自定义 WebArgumentResolver,例如 @PathVariable

我想为 id -> 实体使用自定义 WebArgumentResolver。如果我使用请求参数就很容易了:使用参数键来确定实体类型并相应地查找。

但我希望它像 @PathVariable 注释。

例如。

http://mysite.xzy/something/enquiryId/itemId会触发这个方法

@Coerce 注释会告诉 WebArgumentResolver 根据其类型使用特定服务。

问题是确定哪个 uri 部分属于实体。

有人可以解释 PathVariable 注释是如何做到的。是否可以用我的自定义注释来模拟它。

谢谢。

0 投票
1 回答
1742 浏览

java - java - Spring MVC:将带有旧 URL 的请求重定向到新 URL

我已将我的一个网站的 URL 样式更改为 RESTful:

在搜索引擎使用新 URL 重新索引我的网站之前,人们将继续在搜索引擎上看到旧 URL。如果他们使用旧 URL 访问我的网站,他们将收到 404。

我想创建一种机制(通过编写控制器、错误处理程序或其他),它将:

  1. 捕获未找到映射的请求
  2. 检查是否有为此请求路径映射的新 URL。
  3. 如果找到新 URL,则重定向到该 URL。
  4. 否则显示“404 页面未找到”页面。

如何才能做到这一点?

0 投票
4 回答
18048 浏览

java - Spring MVC 注解

我已经看过 Spring 的文档几次,但我似乎无法让 @Controller 等注释工作。

我正在我的 POM 中加载依赖项和存储库(...是我的特定值):

在我的 web.xml 中,我正在设置调度程序 servlet:

在 WEB-INF 下我有 servlet-context.xml (...是我的控制器包):

我想我一定是错过或忘记了一些简单的事情。Eclipse 无法识别注释,maven 无法构建项目。有谁可以帮我离开这里吗?

编辑

为了进一步澄清,在eclipse中,添加注释会导致:

运行 mvn clean install 会导致:

删除运行时范围会导致以下 Maven 错误:

0 投票
1 回答
1692 浏览

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

我期待着您的回复。埃里克

0 投票
2 回答
1676 浏览

java - Spring的3.1 MvcAnnotationDriven如何实现?

这是来自 Spring 3.1 Spring Source 博客的代码示例:从 XML 到 @Configuration我正在尝试在我的应用程序中实现(这是在 Spring 2.0 中完成的,而不是由我完成的,所以需要大量学习)。

但是,我无法理解.argumentResolvers(new CustomArgumentResolver())的意义,他们的 CustomArgumentResolver 看起来像下面这样。它有什么意义?

0 投票
6 回答
54207 浏览

java - 如果找不到,@PathVariable 可以返回 null 吗?

@PathVariable如果路径变量不在 url 中,是否可以返回 null ?否则我需要做两个处理程序。一个 for/simple和另一个 for /simple/{game},但如果没有定义游戏,我会从列表中选择第一个,但是如果定义了游戏参数,那么我会使用它。

这就是我尝试打开页面时得到的结果/simple

原因:java.lang.IllegalStateException:在@RequestMapping 中找不到@PathVariable [示例]

0 投票
1 回答
4458 浏览

java - 在控制器中注入属性值的最佳方法是什么?

这真的是如何从属性文件在控制器中注入属性的最简单方法吗?然后它需要在每个需要一些属性的控制器上导入属性文件。在像我这样的项目中,大约有 30 个控制器,其中 10 个需要这个国家/地区的财产,我猜它看起来像一团糟。我是否理解@Value正确的用法?

properties-config.xml (跳过 xml 和架构的东西)

此外,当尝试在多个控制器中导入 properties-config.xml 资源时,我会收到此类消息。这似乎不是正确的方法,但我想不出更好的方法..

0 投票
6 回答
47083 浏览

java - Spring 3.0 中的 FactoryBeans 和基于注解的配置

Spring 提供了FactoryBean允许对 bean 进行非平凡初始化的接口。该框架提供了许多工厂 bean 的实现,并且——当使用 Spring 的 XML 配置时——工厂 bean 很容易使用。

但是,在 Spring 3.0 中,我找不到令人满意的方法来使用带有基于注释的配置(née JavaConfig)的工厂 bean。

显然,我可以手动实例化工厂 bean 并自己设置任何必需的属性,如下所示:

FactoryBean但是,如果实现了任何特定于 Spring 的回调接口,例如InitializingBeanApplicationContextAwareBeanClassLoaderAware@PostConstruct例如,这将失败。我还需要检查FactoryBean,找出它实现了哪些回调接口,然后通过调用等方式自己实现这个setApplicationContext功能afterPropertiesSet()

这让我感觉很尴尬和背对前:应用程序开发人员不应该实现 IOC 容器的回调。

有谁知道从 Spring Annotation 配置中使用 FactoryBeans 的更好解决方案?