Tag: spring

手动调用Spring Annotation Validation

我正在使用Hibernate和Spring Annotations进行大量validation,如下所示: public class Account { @NotEmpty(groups = {Step1.class, Step2.class}) private String name; @NotNull(groups = {Step2.class}) private Long accountNumber; public interface Step1{} public interface Step2{} } 然后在控制器中调用它: public String saveAccount(@ModelAttribute @Validated({Account.Step1.class}) Account account, BindingResult result) { //some more code and stuff here return “”; } 但我想根据控制器方法中的一些逻辑来决定使用的组。 有没有办法手动调用validation? 像result = account.validate(Account.Step1.class) ? 我知道创建自己的Validator类,但这是我想要避免的,我宁愿只使用类变量本身的注释。

Spring注入Servlet

所以我看到了这个问题: Springdependency injection到其他实例 并想知道我的方法是否会成功。 1)在我的Spring应用程序上下文中声明bean 2)覆盖我的servlet的init方法,如下所示: @Override public void init(ServletConfig config) throws ServletException { super.init(config); ApplicationContext ac = new ClassPathXmlApplicationContext(“applicationContext.xml”); this.apiData = (ApiData)ac.getBean(“apiData”); this.apiLogger = (ApiLogger)ac.getBean(“apiLogger”); } 这个工作还是Spring还没准备好在Web应用程序部署中将bean交付给我的servlet? 我是否必须做一些更传统的事情,比如把bean放在web.xml ?

了解Spring事务 – 当事务方法调用另一个事务方法时会发生什么?

只是为了理解Spring事务的工作原理我想知道在下面的情况下会发生什么,其中一个标记为@Transactional方法调用标记为@Transactional另一个方法。 假设配置使用所有默认设置。 @Service(“myService”) @Transactional public MyService{ public void myServiceMethod(){ myDAO.getSomeDBObjects(); } } @Repository(“myDAO”) @Transactional public MyDAOWithUsesBeyondMyService{ public void getSomeDBObjects(){…} } 现在,如果我要输入MyService.myServiceMethod()它显然会启动一个事务。 然后,在钻入myDAO.getSomeDBObjects()会发生什么? 事务已经存在的事实会导致没有新的交易产生,或者我在这里创建两个交易? 关于传播的文档(引用如下)似乎涵盖了这一点,但我想validation我的理解,这对于我的处女大脑来说有点多了解一下。 传播 :通常,在事务范围内执行的所有代码都将在该事务中运行。 但是,如果在事务上下文已存在时执行事务方法,则可以选择指定行为。 例如,代码可以继续在现有事务中运行(常见情况); 或者可以暂停现有交易并创建新交易。 Spring提供了EJB CMT熟悉的所有事务传播选项。 要了解Spring中事务传播的语义,请参见第10.5.7节“事务传播”。

从另一个属性的属性占位符位置

我需要从一个我不知道的位置将一些属性加载到Spring上下文中,直到程序运行。 所以我认为,如果我有一个没有位置的PropertyPlaceholderConfigurer, my.location从系统属性中读取my.location ,然后我可以在上下文中使用该位置:property-placeholder 喜欢这个 但这不起作用, location=”classpath:${my.location}”也不行 保罗

如何使用WebServiceTemplate发送SOAP请求?

我正在尝试向SOAP Web服务发送请求。 我阅读了本教程并准备了以下代码。 但是,我将向多个SOAP Web服务发送不同的请求,而本教程则关注一个请求。 如何使用WebserviceTemplate发送SOAP请求? WebServiceTemplate SoapMessage soapMsg = new SoapMessage(); soapMsg.setUsername(“Requester”); soapMsg.setPassword(“Pass”); soapMsg.setLanguageCode(“EN”); Request request = new Request(); request.setDeparture(“FDH”); request.setDestination(“HAM”); Date date = new Date(); SimpleDateFormat frm2 = new SimpleDateFormat(“yyyy-MM-dd”); request.setDepartureDate(frm2.parse(frm2.format(date))); request.setNumADT(1); request.setNumCHD(0); request.setNumInf(0); request.setCurrencyCode(“EUR”); request.setWaitForResult(true); request.setNearByDepartures(true); request.setNearByDestinations(true); request.setRronly(false); request.setMetaSearch(false); soapMsg.setRequest(request); WebServiceTemplate webServiceTemplate = new WebServiceTemplate(). //how to create object and send request! […]

Spring Security登录页面

我开发了一个使用Spring Security默认登录页面的应用程序。 但是我想实现自己的登录页面。 我将放一个login.html而不是一个jsp页面。 我想用它来使用JQuery。 我检查了许多例子,但无法实现。 我是Spring和Spring Security的新手,我使用Spring Security 3.我应该遵循哪些步骤的想法?

带有内容类型application / x-www-form-urlencoded的Http Post请求在Spring中不起作用

我是spring的新手,我正在尝试做HTTP POST请求应用程序/ x-www-form-url编码 ,但当我把它保存在我的标题中然后spring不认识它并且说x-www-form-urlencoded 415 Unsupported Media Type org.springframework.web.HttpMediaTypeNotSupportedException:不支持内容类型’application / x-www-form-urlencoded’ 任何人都知道如何解决它吗? 请评论我。 我的控制器的一个例子是: @RequestMapping(value = “/patientdetails”, method = RequestMethod.POST, headers=”Accept=application/x-www-form-urlencoded”) public @ResponseBody List getPatientDetails( @RequestBody PatientProfileDto name) { List list = new ArrayList(); list = service.getPatient(name); return list; }

Spring MVC – AngularJS – 文件上传 – org.apache.commons.fileupload.FileUploadException

我有一个Java Spring MVC Web应用程序作为服务器。 而基于AngularJS的应用程序作为客户端。 在AngularJS中,我必须上传文件并发送到服务器。 这是我的HTML Submit 这是我的UploadController.js ‘use strict’; var mainApp=angular.module(‘mainApp’, [‘ngCookies’]); mainApp.controller(‘FileUploadController’, function($scope, $http) { $scope.document = {}; $scope.setTitle = function(fileInput) { var file=fileInput.value; var filename = file.replace(/^.*[\\\/]/, ”); var title = filename.substr(0, filename.lastIndexOf(‘.’)); $(“#title”).val(title); $(“#title”).focus(); $scope.document.title=title; }; $scope.uploadFile=function(){ var formData=new FormData(); formData.append(“file”,file.files[0]); $http({ method: ‘POST’, url: ‘/serverApp/rest/newDocument’, headers: { ‘Content-Type’: ‘multipart/form-data’}, […]

嵌套数组中的Mongodb Increment值

我正在为Spring使用mongotemplate,我想知道如何以primefaces方式增加我在一个数组中的一个文件的值。 想象一下,我们有 {‘a’:1, b:[{_id:341432, c:2 }, {_id:341445, c:3 }]}; 对于_id 341445,我想要的是将c从3增加到4 我一直在使用findAndModify,但我不知道如何为数组中的嵌套文档创建它。 问候。

从另一个方法调用的@Transactional方法不会获得事务

在Spring中,使用@Transactional注释的方法将获得一个新事务(如果还没有),但我注意到如果从非事务性事务中调用事务方法,则事务方法不会获得任何事务。 这是代码。 @Component public class FooDao { private EntityManager entityManager; @PersistenceContext protected void setEntityManager(EntityManager entityManager) { this.entityManager = entityManager; } @Transactional public Object save(Object bean) { return this.entityManager.merge(bean); } public Object saveWrap(Object bean) { return save(bean); } } @Component public class FooService { private FooDao fooDao; public void save(Object bean) { this.fooDao.saveWrap(bean); // doesn’t work. […]