Tag: spring annotations

AbstractWizardFormController使用Annotated @Controllers

在Spring Framework中, AbstractWizardFormController似乎已被弃用。 如何在Spring MVC Framework中实现多个页面。 (我不使用webflow) 任何示例或指针都有助于考虑我在Spring中的有限知识。

Spring自动assembly的bean会导致空指针

我有一个使用服务的记录器类。 每次创建新的记录器时,我都希望能够访问单例范围的日志记录服务。 我将日志记录服务自动装入记录器,但是返回了空指针exception。 我尝试了一些解决方案: 在应用程序上下文中手动定义bean, 试图让记录器进行弹簧管理,但这只会导致更多问题。 我试图在junit测试中使用它,并且我确实指定了上下文文件以使用不同的应用程序上下文。 但即使保持相同,也无法解决问题。 请在下面找到代码: 以下是应用程序上下文的摘录。 以下是Logger类。 package com.platform.utils; import com.platform.services.AsyncLoggingService; import org.joda.time.DateTime; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; public class OurLogger { private static Logger logger; @Autowired private AsyncLoggingervice asyncLoggingService; public OurLogger(Class Clazz) { logger = LoggerFactory.getLogger(Clazz); } public void trace(TraceableObject object, String message) { //Do nothing yet } } […]

Spring – 点 – 注释后的路径变量截断

我正在尝试设置一个REST端点,允许通过他们的电子邮件地址查询用户。 电子邮件地址是路径的最后一部分,因此Spring将foo@example.com视为值foo@example并截断扩展名.com 。 我在这里发现了一个类似的问题Spring MVC @PathVariable with dot(。)正在被截断但是,我有一个基于注释的配置使用AbstractAnnotationConfigDispatcherServletInitializer和WebMvcConfigurerAdapter 。 由于我没有xml配置,这个解决方案对我不起作用: 我也试过这个使用正则表达式的解决方案,但它也没有用。 @RequestMapping(value = “user/by-email/{email:.+}”) 有没有人知道如何在没有xml的情况下关闭后缀模式截断?

带有2个事务管理器的@EnableTransactionManagement注释

我使用@Configuration注释来配置spring而不是xml文件。 我正在配置具有不同会话工厂和不同事务管理器的2个数据源。 我在这里@EnableTransactionManagement注释的问题。 我在其文档中读到, @EnableTransactionManagement更灵活; 它将回退到容器中任何PlatformTransactionManager bean的类型查找。 因此,名称可以是“txManager”,“transactionManager”或“tm”:它无关紧要。 这意味着我给方法的任何名称,它总是会搜索返回PlatformTransactionManager对象的方法,而我有2个transactionmanagers。 现在问题是,当我测试这个类时,它给了我错误: org.springframework.beans.factory.NoSuchBeanDefinitionException :没有定义[ org.springframework.transaction.PlatformTransactionManager ]类型的唯一bean:期望的单个bean但找到了2 我甚至试图拥有2个不同的配置类但是徒劳无功。 在xml配置中,情况并非如此。 我用两个标签注册了我的两个事务管理 ,它运行正常。 但是这里不能用注释做同样的事情。 如果我想在Spring注释配置类中配置2个具有2个不同事务管理器的数据源,我该怎么办?

如何从BindingResult获取控制器中的错误文本

我有一个返回JSON的控制器。 它采用一种forms,通过弹簧注释validation自己。 我可以从BindingResult获取FieldError列表,但它们不包含JSP将在标记中显示的文本。 如何通过JSON发送错误文本? @RequestMapping(method = RequestMethod.POST) public @ResponseBody JSONResponse submit(@Valid AnswerForm answerForm, BindingResult result, Model model, HttpServletRequest request, HttpServletResponse response) { if (result.hasErrors()) { response.setStatus(HttpServletResponse.SC_BAD_REQUEST); JSONResponse r = new JSONResponse(); r.setStatus(JSONResponseStatus.ERROR); //HOW DO I GET ERROR MESSAGES OUT OF BindingResult??? } else { JSONResponse r = new JSONResponse(); r.setStatus(JSONResponseStatus.OK); return r; } } JSONREsponse类只是一个POJO […]