Questions tagged «spring»

Spring框架是用于Java平台上的应用程序开发的开源框架。它的核心是对基于组件的体系结构的丰富支持,目前它具有二十多个高度集成的模块。

5
如何使用Spring的JDBCTemplate有效执行IN()SQL查询?
我想知道是否有使用Spring的JDBCTemplate进行IN()查询的更优雅的方法。目前,我正在执行以下操作: StringBuilder jobTypeInClauseBuilder = new StringBuilder(); for(int i = 0; i < jobTypes.length; i++) { Type jobType = jobTypes[i]; if(i != 0) { jobTypeInClauseBuilder.append(','); } jobTypeInClauseBuilder.append(jobType.convert()); } 这是很痛苦的,因为如果我只有九行用于为IN()查询构建子句。我想要类似预准备语句的参数替换
177 java  sql  spring  jdbc  jdbctemplate 

13
在Spring启动时执行方法
首次启动应用程序时,是否有任何Spring 3功能可以执行某些方法?我知道我可以做一些技巧来设置带有@Scheduled注释的方法,并且该方法会在启动后立即执行,但随后会定期执行。
176 java  spring 

16
将上下文路径添加到Spring Boot应用程序
我试图以编程方式设置一个Spring Boot应用程序上下文根。上下文根的原因是我们希望从中访问该应用程序,localhost:port/{app_name}并将所有控制器路径附加到该应用程序。 这是Web应用程序的应用程序配置文件。 @Configuration public class ApplicationConfiguration { Logger logger = LoggerFactory.getLogger(ApplicationConfiguration.class); @Value("${mainstay.web.port:12378}") private String port; @Value("${mainstay.web.context:/mainstay}") private String context; private Set<ErrorPage> pageHandlers; @PostConstruct private void init(){ pageHandlers = new HashSet<ErrorPage>(); pageHandlers.add(new ErrorPage(HttpStatus.NOT_FOUND,"/notfound.html")); pageHandlers.add(new ErrorPage(HttpStatus.FORBIDDEN,"/forbidden.html")); } @Bean public EmbeddedServletContainerFactory servletContainer(){ TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory(); logger.info("Setting custom configuration for Mainstay:"); …

27
Spring Boot:由于缺少EmbeddedServletContainerFactory bean而无法启动EmbeddedWebApplicationContext
我对Spring完全陌生,并开始从该站点制作官方指南:https: //spring.io/guides 我想做这份指南:https : //spring.io/guides/gs/scheduling-tasks/ 我收到以下异常: 2014-02-14 16:25:21.614 INFO 9032 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.scheduling.annotation.SchedulingConfiguration' of type [class org.springframework.scheduling.annotation.SchedulingConfiguration$$EnhancerByCGLIB$$5b48d763] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2014-02-14 16:25:21.638 INFO 9032 --- [ main] .c.l.ClasspathLoggingApplicationListener : Application failed to start with …
173 java  spring  spring-boot 

10
Spring Boot REST服务异常处理
我正在尝试建立一个大型的REST服务服务器。我们正在使用Spring Boot 1.2.1,Spring 4.1.5和Java8。我们的控制器正在实现@RestController和标准的@RequestMapping注释。 我的问题是Spring Boot为控制器异常设置了默认重定向到/error。从文档: Spring Boot默认提供一个/ error映射,以一种明智的方式处理所有错误,并且在servlet容器中被注册为“全局”错误页面。 对使用Node.js编写REST应用程序已有多年的经验,对我而言,这绝非明智之举。服务端点生成的任何异常都应在响应中返回。我不明白为什么您要发送重定向到最有可能是Angular或JQuery SPA使用者的重定向程序,该使用者仅在寻找答案并且不能或不会对重定向采取任何措施。 我想做的是设置一个可以接受任何异常的全局错误处理程序-有目的地从请求映射方法抛出,或者由Spring自动生成(如果未为请求路径签名找到处理程序方法,则为404),然后返回标准格式的错误响应(400、500、503、404)到客户端,而无需任何MVC重定向。具体来说,我们将处理错误,使用UUID将其记录到NoSQL,然后将正确的HTTP错误代码与JSON主体中的日志条目的UUID返回给客户端。 文档对如何执行此操作一直含糊不清。在我看来,您必须创建自己的ErrorController实现或以某种方式使用ControllerAdvice,但是我所看到的所有示例仍然包括将响应转发到某种错误映射,这没有帮助。其他示例建议您必须列出要处理的每个Exception类型,而不是仅列出“ Throwable”并获取所有内容。 谁能告诉我我错过了什么,或者在没有暗示Node.js更容易处理的前提下为我指出正确的方向?

14
POST JSON失败,出现415不支持的媒体类型,Spring 3 mvc
我正在尝试向Servlet发送POST请求。通过jQuery通过以下方式发送请求: var productCategory = new Object(); productCategory.idProductCategory = 1; productCategory.description = "Descrizione2"; newCategory(productCategory); newCategory在哪里 function newCategory(productCategory) { $.postJSON("ajax/newproductcategory", productCategory, function( idProductCategory) { console.debug("Inserted: " + idProductCategory); }); } 而postJSON是 $.postJSON = function(url, data, callback) { return jQuery.ajax({ 'type': 'POST', 'url': url, 'contentType': 'application/json', 'data': JSON.stringify(data), 'dataType': 'json', 'success': callback }); …

8
如何获取活动用户的UserDetails
在我的控制器中,当我需要活动(登录)用户时,我正在执行以下操作以获取UserDetails实现: User activeUser = (User)SecurityContextHolder.getContext().getAuthentication().getPrincipal(); log.debug(activeUser.getSomeCustomField()); 它工作正常,但我认为Spring在这种情况下可以使生活更轻松。有没有办法将UserDetails自动接线连接到控制器或方法中? 例如,类似: public ModelAndView someRequestHandler(Principal principal) { ... } 但是UsernamePasswordAuthenticationToken我得到了,UserDetails而不是得到了? 我正在寻找一个优雅的解决方案。有任何想法吗?

15
Spring中ContextLoaderListener的角色/目的?
我正在学习在我的项目中使用的Spring Framework。我在web.xml文件中找到了 ContextLoaderListener条目。但是无法弄清楚它对开发人员有多大帮助吗? 在ContextLoaderListener的官方文档中,它表示要启动WebApplicationContext。关于WebApplicationContext JavaDocs说: 提供Web应用程序配置的界面。 但是我无法理解使用ContextLoaderListener实现内部初始化WebApplicationContext的目标吗? 据我了解,ContextLoaderListener 读取Spring配置文件(具有针对web.xml中的contextConfigLocation的值),对其进行解析并加载在该配置文件中定义的单例bean。同样,当我们要加载原型bean时,我们将使用相同的Web应用程序上下文来加载它。因此,我们使用ContextLoaderListener初始化了Web应用程序,以便我们提前读取/解析/验证配置文件,并且每当我们要注入依赖项时,我们都可以立即进行操作而不会产生任何延迟。这种理解正确吗?


4
当对Spring RESTful应用程序使用ResponseEntity <T>和@RestController时
我正在使用Spring Framework 4.0.7,MVC和Rest 我可以和以下人一起安心工作: @Controller ResponseEntity&lt;T&gt; 例如: @Controller @RequestMapping("/person") @Profile("responseentity") public class PersonRestResponseEntityController { 用的方法(只是创建) @RequestMapping(value="/", method=RequestMethod.POST) public ResponseEntity&lt;Void&gt; createPerson(@RequestBody Person person, UriComponentsBuilder ucb){ logger.info("PersonRestResponseEntityController - createPerson"); if(person==null) logger.error("person is null!!!"); else logger.info("{}", person.toString()); personMapRepository.savePerson(person); HttpHeaders headers = new HttpHeaders(); headers.add("1", "uno"); //http://localhost:8080/spring-utility/person/1 headers.setLocation(ucb.path("/person/{id}").buildAndExpand(person.getId()).toUri()); return new ResponseEntity&lt;&gt;(headers, HttpStatus.CREATED); } 退还一些东西 …

12
为什么我的Spring Boot App启动后总是立即关闭?
这是我的第一个Spring Boot代码。不幸的是,它总是关闭。我期望它能够连续运行,以便我的Web客户端可以从浏览器中获取一些数据。 package hello; import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.stereotype.*; import org.springframework.web.bind.annotation.*; @Controller @EnableAutoConfiguration public class SampleController { @RequestMapping("/") @ResponseBody String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(SampleController.class, args); } } [@localhost initial]$ java -jar build/libs/gs-spring-boot-0.1.0.jar . ____ _ __ _ _ …
163 java  spring  spring-boot 

10
在Spring Boot中从命令行设置活动配置文件和配置位置
我有一个Spring Boot应用程序。 我的应用程序中有三个配置文件-&gt; 开发,暂存和生产。所以我有3个档案 应用程序开发 application-staging.yml application-production.yml 我的application.yml驻留在内部src/main/resources。我在application.yml中将活动配置文件设置为: spring: profiles.active: development 其他3个配置文件特定的配置文件位于C:\config文件夹中。 我正在使用gradle插件进行蚀。当我尝试执行“ bootRun ”时,我在eclipse中的gradle配置中将命令行参数设置为 -Dspring.profiles.active=staging -Dspring.config.location=C:\Config 但是,命令行属性没有得到反映,并且我的活动配置文件始终被设置为development(这是我在applications.yml文件中提到的内容)。此外,不会在C:\ Config文件夹中搜索特定于配置文件的配置文件。 我想我在这里错过了一些东西。在过去的两天里,我一直在努力解决问题。但是没有运气。我真的很感谢您的帮助。

8
春季如何使用Tomcat提供的JNDI数据源?
据说在有关DriverManagerDataSource类的Spring javadoc文章中,该类非常简单,建议使用 使用容器提供的JNDI数据源。这样DataSource可以通过DataSourceSpring ApplicationContext中的bean 形式公开。JndiObjectFactoryBean 问题是:我该如何完成? 例如,如果我希望让DataSourcebean访问我的自定义MySQL数据库,那我需要什么?我应该在上下文配置等中写些什么?
159 java  spring  tomcat  datasource  jndi 

14
Spring Boot删除Whitelabel错误页面
我正在尝试删除白标签错误页面,所以我所做的是为“ / error”创建了一个控制器映射, @RestController public class IndexController { @RequestMapping(value = "/error") public String error() { return "Error handling"; } } 但是现在我得到了这个错误。 Exception in thread "AWT-EventQueue-0" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping found. …

3
servlet中的<mvc:annotation-driven />和<context:annotation-config />有什么区别?
我正在从Spring 2.5迁移到Spring 3。 他们介绍了&lt;mvc:annotation-driven /&gt;一些黑魔法。预期仅在servlet配置文件中声明。 在Spring 2.5中,我刚刚使用,&lt;context:annotation-config /&gt;并且&lt;context:component-scan base='...'/&gt;在application-context.xmlservlet分配器XML配置文件中声明了标记,并使用了要扫描的基本包。 因此,我想知道servlet config中的和标记之间有什么区别,mvc:annotation-driven并且context:annotation-config在Spring 3配置文件中可以消除什么?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.