Questions tagged «spring»

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

6
@Bean和@Autowired之间的区别
为什么@Autowired在这种情况下不能使用? @SpringBootApplication public class Application { @Autowired BookingService bookingService; public static void main(String[] args) { bookingService.book("Alice", "Bob", "Carol"); } } 但可以使用 @Bean @SpringBootApplication public class Application { @Bean BookingService bookingService() { return new BookingService(); } public static void main(String[] args) { ApplicationContext ctx = SpringApplication.run(Application.class, args); BookingService bookingService = ctx.getBean(BookingService.class); …

10
如何在Spring中使用LocalDateTime RequestParam?我得到“无法将字符串转换为LocalDateTime”
我使用Spring Boot并包含jackson-datatype-jsr310在Maven中: <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> <version>2.7.3</version> </dependency> 当我尝试使用Java 8日期/时间类型的RequestParam时, @GetMapping("/test") public Page<User> get( @RequestParam(value = "start", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime start) { //... } 并使用以下网址进行测试: /test?start=2016-10-8T00:00 我收到以下错误: { "timestamp": 1477528408379, "status": 400, "error": "Bad Request", "exception": "org.springframework.web.method.annotation.MethodArgumentTypeMismatchException", "message": "Failed to convert value of type [java.lang.String] to required …

6
“ NoClassDefFoundError:无法初始化类”错误
当我运行项目时,会收到此错误的大量输出: 2009年9月9日,上午8:22:23 org.apache.catalina.core.StandardWrapperValve调用 严重:Servlet Jersey的Servlet.service()抛出异常 java.lang.NoClassDefFoundError:无法初始化类SpringFactory 在com.point2.prospect.persistence.hibernate.HibernateTransactionInterceptor.doFilter(HibernateTrans actionInterceptor.java:17) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在com.point2.prospect.restapi.ServerErrorInterceptor.doFilter(ServerErrorInterceptor.java:27) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) 在org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) 在org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:583) 在org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:447) 在java.lang.Thread.run(Thread.java:619) 我注意到此问题的出现方式是在整个网络上被询问,但没有真正的答案。这种错误的一般原因是什么?
77 java  spring  exception 

14
Gradle-无法找到或加载主类
我正在尝试使用Gradle运行一个非常简单的项目,并在使用时遇到以下错误gradlew run command: could not find or load main class 'hello.HelloWorld' 这是我的文件结构: SpringTest -src -hello -HelloWorld.java -Greeter.java -build -libs -tmp -gradle -wrapper -build.gradle -gradlew -gradlew.bat 我排除了libs和tmp文件夹的内容,因为我认为这与该问题无关,但是我可以在需要时添加它。 这是我的build.gradle文件: apply plugin: 'java' apply plugin: 'application' apply plugin: 'eclipse' mainClassName = 'hello/HelloWorld' repositories { mavenLocal() mavenCentral() } dependencies { compile "joda-time:joda-time:2.2" } jar …

6
多个方法参数上的@Cacheable键
从spring文档中: @Cacheable(value="bookCache", key="isbn") public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed) 如何指定@Cachable使用isbn和checkWarehouse作为密钥?
77 java  spring  ehcache 

3
模拟MVC-添加请求参数进行测试
我正在使用Spring 3.2模拟MVC测试我的控制器。我的代码是 @Autowired private Client client; @RequestMapping(value = "/user", method = RequestMethod.GET) public String initUserSearchForm(ModelMap modelMap) { User user = new User(); modelMap.addAttribute("User", user); return "user"; } @RequestMapping(value = "/byName", method = RequestMethod.GET) @ResponseStatus(HttpStatus.OK) public @ResponseBody String getUserByName( @RequestParam("firstName") String firstName, @RequestParam("lastName") String lastName, @ModelAttribute("userClientObject") UserClient userClient) { return client.getUserByName(userClient, …

18
在Spring Boot上删除“使用默认安全密码”
我在Spring Boot的应用程序中添加了一个自定义安全配置,但是有关“使用默认安全密码”的消息仍在LOG文件中。 有什么要删除的吗?我不需要此默认密码。看来Spring Boot无法识别我的安全策略。 @Configuration @EnableWebSecurity public class CustomSecurityConfig extends WebSecurityConfigurerAdapter { private final String uri = "/custom/*"; @Override public void configure(final HttpSecurity http) throws Exception { http.csrf().disable(); http.headers().httpStrictTransportSecurity().disable(); http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS); // Authorize sub-folders permissions http.antMatcher(uri).authorizeRequests().anyRequest().permitAll(); } }

7
Mockito,JUnit和Spring
我直到今天才开始了解Mockito。我写了一些简单的测试(使用JUnit,请参见下文),但是我不知道如何在Spring的托管bean中使用模拟对象。什么是使用Spring的最佳实践。我应该如何向我的bean注入模拟依赖项? 您可以跳过这一步,直到回到我的问题。 首先,我学到了什么。这是一篇很好的文章Mocks Are n't Stubs,它解释了基础知识(Mock的检查行为验证而不是状态验证)。然后在这里有一个很好的例子Mockito 和这里更容易用嘲笑嘲笑。我们必须解释是的Mockito的模拟对象都是模拟和存根。 这里的Mockito这里匹配器,你可以找到更多的例子。 这个测试 @Test public void testReal(){ List<String> mockedList = mock(List.class); //stubbing //when(mockedList.get(0)).thenReturn("first"); mockedList.get(anyInt()); OngoingStubbing<String> stub= when(null); stub.thenReturn("first"); //String res = mockedList.get(0); //System.out.println(res); //you can also verify using argument matcher //verify(mockedList).get(anyInt()); verify(mockedList); mockedList.get(anyInt()); } 效果很好。 回到我的问题。这里有人将Mockito模拟注入Spring Bean中,有人尝试使用Springs ReflectionTestUtils.setField(),但是这里我们建议使用Spring Integration Tests,创建Mock对象来更改Spring的上下文。 我不太了解最后两个链接...有人可以向我解释Spring对Mockito有什么问题吗?这个解决方案怎么了? @InjectMocks private MyTestObject …

7
在Spring MVC中,使用@ResponseBody时如何设置mime类型标头
我有一个Spring MVC Controller,它返回一个JSON字符串,我想将mimetype设置为application / json。我怎样才能做到这一点? @RequestMapping(method=RequestMethod.GET, value="foo/bar") @ResponseBody public String fooBar(){ return myService.getJson(); } 业务对象已经可以作为JSON字符串使用,因此使用MappingJacksonJsonView不是我的解决方案。@ResponseBody是完美的,但如何设置模仿类型?



12
在Spring RestTemplate中禁用SSL证书验证
我在两个不同的机器上有两个基于Spring的Web应用程序A和B。 我想从Web应用程序A到Web应用程序B进行https调用,但是我在计算机B中使用了自签名证书。因此,我的HTTPS请求失败。 在Spring中使用RestTemplate时如何禁用https证书验证?我想禁用验证,因为Web应用程序A和B都在内部网络中,但是数据传输必须通过HTTPS进行

6
@RequestBody和@RequestParam有什么区别?
我遍历了Spring文档以了解@RequestBody,他们给出了以下解释: 所述@RequestBody方法参数注释指示方法参数应绑定到HTTP请求正文的值。例如: @RequestMapping(value = "/something", method = RequestMethod.PUT) public void handle(@RequestBody String body, Writer writer) throws IOException { writer.write(body); } 您可以通过使用将请求主体转换为方法参数HttpMessageConverter。HttpMessageConverter负责从HTTP请求消息转换为对象,并从对象转换为HTTP响应主体。 DispatcherServlet支持使用DefaultAnnotationHandlerMapping和进行基于注释的处理AnnotationMethodHandlerAdapter。在Spring 3.0中,AnnotationMethodHandlerAdapter扩展为支持,@RequestBody并且HttpMessageConverter默认情况下注册了以下: ... 但我的困惑是他们在文档中写的句子是 @RequestBody方法参数注释指示方法参数应绑定到HTTP请求正文的值。 那是什么意思?谁能给我一个例子吗? @RequestParamspring doc中的定义是 指示方法参数应绑定到Web请求参数的注释。在Servlet和Portlet环境中支持带注释的处理程序方法。 我对他们感到困惑。请帮我举个例子,说明它们之间的区别。

25
无法启动Spring以自动创建数据库架构
我无法启动启动时自动启动数据库架构的Spring Boot。 这是我的application.properties: spring.datasource.url=jdbc:mysql://localhost:3306/test spring.datasource.username=test spring.datasource.password= spring.datasource.driverClassName = com.mysql.jdbc.Driver spring.jpa.database = MYSQL spring.jpa.show-sql = true spring.jpa.hibernate.ddl-auto = create spring.jpa.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect spring.jpa.hibernate.naming_strategy = org.hibernate.cfg.ImprovedNamingStrategy 这是我的Application.java: @EnableAutoConfiguration @ComponentScan public class Application { public static void main(final String[] args){ SpringApplication.run(Application.class, args); } } 这是一个示例实体: @Entity @Table(name = "survey") public class Survey implements …

6
使用restTemplate发送带有身份验证标头的GET请求
我需要通过使用RestTemplate发送带有一些Authorization标头的GET请求来从服务器中检索资源。 浏览文档后,我注意到没有GET方法将标头作为参数接受,并且发送标头(例如accept和Authorization)的唯一方法是使用交换方法。 由于这是一个非常基本的动作,所以我想知道我是否缺少某些东西,还有另外一种更简单的方法吗?

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.