草庐IT

Spring整合JUnit4

全部标签

java - Spring @Autowired @Lazy

我正在使用Spring注解,我想使用惰性初始化。我遇到了一个问题,当我想从另一个类导入一个bean时,我被迫使用@Autowired,它似乎没有使用惰性初始化。无论如何强制这种懒惰的初始化行为?在这个例子中,我不想看到“加载父bean”被打印出来,因为我只加载childBean,它不依赖于lazyParent。@ConfigurationpublicclassConfigParent{@Bean@LazypublicLonglazyParent(){System.out.println("Loadingparentbean");return123L;}}@Configuration@I

java - servlet过滤器中的 Spring 注入(inject)

这个问题在这里已经有了答案:HowcanIgetaSpringbeaninaservletfilter?(6个答案)关闭7年前。我正在尝试对servlet过滤器进行Spring注入(inject)。过滤器是引用的jar文件的一部分。所以。我无法将其更改为拦截器。在我的插件项目的web.xml中CustomFilterorg.springframework.web.filter.DelegatingFilterProxysomeinitparamvaluetoitCustomFilter/mywebservices/*在spring.xml中我会这样使用spring.xml中已经配置了一

java - Spring @RequestMapping

我一直在Spring的@RequestMapping注释中看到这种参数value="/redirect/{id}"。我一直想知道这里的{id}是什么?这是某种表达语言吗?我所见的示例代码:@RequestMapping(value="/files/{id}",method=RequestMethod.GET)publicvoidgetFile(@PathVariable("id")StringfileName,HttpServletResponseresponse){try{//getyourfileasInputStreamInputStreamis=newFileInputStre

java - getAttribute ("javax.servlet.request.X509Certificate") 未设置 (Spring,CXF,Jetty,JAX-RSv1.1)

我的客户端通过以下方式实现双向SSL:privatefinalstaticStringKEYSTORE="/security/client.jks";privatefinalstaticStringKEYSTORE_PASSWORD="secret";privatefinalstaticStringKEYSTORE_TYPE="JKS";privatefinalstaticStringTRUSTSTORE="/security/certificates.jks";privatefinalstaticStringTRUSTSTORE_PASSWORD="secret";privatefi

java - 自移动到 Spring Boot 1.1.4.RELEASE 以来,@Value 和 application.properties 出现问题

自从我迁移到SpringBoot的1.1.4.RELEASE版本后,我遇到了一个问题。虽然我的变量存在于application.properties中,但我用@Value注释的变量目前没有填充值。在此之前,我使用的是SpringBoot@version1.0.2,并且运行良好。一切都是从升级后开始的,我没有做任何代码更改。示例应用程序.javapackageorg.sample;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.boot.SpringApplication

java - Spring Web Socket Java 客户端

如何编写基于Java的SpringWebSocket(STOMP)客户端。与在Spring中一样,我们使用stompJS仅提供基于javascript的客户端,但如果我们需要java客户端,我们应该如何实现它? 最佳答案 Spring4.1引入了一个SockJsJavaClient这对于服务器到服务器的通信和性能测试非常有用。它没有附带Stomp客户端(这当然在路线图中),但您可以查看testsinthesampleapp已经有一个实现。看来这就是您要找的东西。2015年9月8日更新:Spring4.2有一个STOMPJava客户端

java - 为 JUnit 测试重置静态字段

我有一组JUnit测试,它们调用Java程序的主要方法,传入参数并检查输出。没关系。但是,如果我正在测试的程序具有已更改的静态值,它们将在测试之间保持不变。这会导致问题。我无法控制正在测试的程序是什么,也无法控制用于静态字段的名称。如何确保我的单元测试干净利落地运行,就好像它是从头开始程序一样,而不保留那些静态字段。有没有办法以某种方式重置它们?如果没有,我将不得不启动一个运行该程序的新进程,然后检查输出等,但这似乎有点矫枉过正。编辑-请注意我无法控制单元测试正在测试的代码-我无法更改它们的字段名称,不幸的是,我也不知道它们的字段名称。我在想,如果不开始一个新流程,这不可能实现?

java - 有没有办法在不使用 Spring-MVC 的情况下使用 spring-data-rest 编写一个 rest Controller 来上传文件?

我已经像给定的代码一样创建了存储库@RepositoryRestResource(collectionResourceRel="sample",path="/sample")publicinterfaceSampleRepositoryextendsPagingAndSortingRepository{}适用于所有crud操作。但我想创建一个上传文件的休息存储库,我将如何使用spring-data-rest做到这一点? 最佳答案 SpringDataRest只是将您的SpringData存储库公开为REST服务。支持的媒体类型是ap

java - Spring MVC RestController 作用域

我有以下SpringController:packagehello;importjava.util.concurrent.atomic.AtomicLong;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.RestController;@RestControllerpublicclassTestContro

java - 不同的测试方法使用不同的Spring测试上下文配置

我们有一个基于Spring的JUnit测试类,它使用内部测试上下文配置类@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes=ServiceTest.Config.class)publicclassServiceTest{@TestpublicvoidsomeTest(){...@Configuration@PropertySource(value={"classpath:application.properties"})@ComponentScan({"..."})publicstaticclassC