
spring启动性能问题
我试图将Spring集成到具有数千个类的大型应用程序中,并且由于组件扫描,我在启动容器时遇到了巨大的延迟。我已经将“基本软件包”中指定的目录数量缩小到最小,以减少扫描无关目录所浪费的时间,但是初始化的类路径扫描部分仍然需要大约1-2分钟。因此,有没有一种方法可以优化扫描过程?...
2024-01-10
spring安全403错误
我正在尝试按照网络上的指南使用Spring安全性来保护我的网站。所以在我的服务器端,WebSecurityConfigurerAdapter和控制器看起来像这样@Configuration@EnableWebSecuritypublic class WebSecurityConfig extends WebSecurityConfigurerAdapterimplements ApplicationContextAware {@Overrideprotected void registerAuthentic...
2024-01-10
spring启动时的过滤顺序
如何在spring-boot中指定我的过滤器的顺序?我需要在SpringSecurity过滤器之后插入我的MDC过滤器。我几乎尝试了所有方法,但过滤器始终是第一位的。这不起作用:@Bean@Order(Ordered.LOWEST_PRECEDENCE)public UserInsertingMdcFilter userInsertingMdcFilter() { return new UserInsertingMdcFilter();}这也不起作用:@Beanpublic FilterRegis...
2024-01-10
Spring 4加载静态资源
我得到了一个Spring MVC应用程序,该应用程序当前在src/main/java/resources/assets目录中放置了一堆CSS和JS文件。我通读了Spring Docs和一些有关如何使用ResourceHandlerRegistry类为模板加载这些文件的教程。我特别认为本教程中的代码段完全适合我的项目结构。但是我的资源文件上总是显示404。这是我当前正在使用...
2024-01-10
如何手动触发spring验证?
从JSON请求正文创建POJO字段时,带注释的spring验证有效。但是,当我手动(使用设置器)创建同一对象并想要触发验证时,我不确定该怎么做。这是Registration类,它具有可以构建对象的Builder内部类。在构建方法中,我想触发弹簧验证。请滚动到底部并检查Builder.build()和Builder.valiate()方法以查看当...
2024-01-10
如何执行spring配置类的加载顺序?
我正在多模块项目(maven)上使用spring-boot。每个模块都有自己的@Configuration类。基本上我有以下布局模块foo-embedded(运行仅调用SpringApplication.run())方法:@Configuration@EnableAutoConfiguration@ComponentScan("de.foobar.rootpackage")@Import({ApplicationConfig.class, RepositoryConfig.class, SecurityCo...
2024-01-10
从Spring返回Excel可下载文件
所以我有一个Spring控制器,我想创建一个Excel文件并返回它,以便浏览器下载它。我正在使用JEXcelApi。这是我的控制器代码@RequestMapping(value="/excel/cols/{colString}/rows/{rowString}/", method = RequestMethod.GET)@ResponseBodypublic ResponseEntity<String> exportExcel(HttpServletResponse response, @PathVa...
2024-01-10
如何在spring获得会话对象?
我对Spring和Spring安全性比较陌生。我试图编写一个程序,需要使用Spring安全性在服务器端对用户进行身份验证,我想出了以下几点:public class CustomAuthenticationProvider extends AbstractUserDetailsAuthenticationProvider{ @Override protected void additionalAuthenticationChecks(UserDetails userDetails, Userna...
2024-01-10
如何在spring启动时加载@Cache?
我正在使用spring-cache来改善数据库查询,如下所示可以正常工作:@Beanpublic CacheManager cacheManager() { return new ConcurrentMapCacheManager("books");}@Cacheable("books")public Book getByIsbn(String isbn) { return dao.findByIsbn(isbn);}但是现在我想在启动时预先填充完整的图书缓存。这意味着我要调用dao.findA...
2024-01-10
如何使用Spring重新加载属性?
我在Spring 3中使用属性文件。当Spring初始化其contex时,它将加载属性文件,并将其放入带有@Value批注的所有bean中。我想有可能更新文件中的某些属性,并在服务器上公开一个JMX,该JMX将新属性重新加载到Spring中-无需重新启动服务器并重新加载其上下文。我可以通过使用某些Spring方法来重新加载属性并...
2024-01-10
如何防止spring时间安排重叠?
@Scheduled(fixedDelay = 5000)public void myJob() { Thread.sleep(12000);}如果先前的例程尚未完成,如何防止此spring作业运行?回答:使用fixedDelay,该时间段是在工作完成后计算的,因此无需担心。...
2024-01-10
spring默认范围是单身还是没有?
能否解释一下为什么Spring为下面所示的bean配置创建两个对象,因为默认情况下spring的默认作用域是singleton?Spring配置在这里:<bean id="customer" class="jp.ne.goo.beans.Customer"> <property name="custno" value="100"></property> <property name="custName" value="rajasekhar"> </property></bean><bean i...
2024-01-10
Spring REST-损坏/空白文件正在下载
我正在尝试创建一个端点来渲染/提供PDF文件。我已经通过以下链接构建了API,但是仍然面临一些问题。以下是我的代码:byte[] targetArray = null;InputStream is = null;InputStream objectData = object.getObjectContent();BufferedReader reader = new BufferedReader(new InputStreamReader(objectData));char[] charArray = ne...
2024-01-10
spring父上下文和子上下文之间有什么区别?
我正在阅读spring doc,我想了解在注入协作者时 的目的的核心容器,然后我发现了父上下文子上下文或父容器和当前容器的概念,这是我对此感到困惑的部分:文档通过parent属性指定目标bean将创建对当前容器的父容器中bean的引用。父属性的值可以与目标Bean的id属性相同,也可以与目标Bean的名称属性...
2024-01-10
Spring:在上下文根外部提供静态资源
在Web应用程序中,我需要提供位于应用程序上下文目录外部的静态内容(图像)。整个应用程序体系结构要求我使用Tomcat来执行此操作。我以为可以从Spring的<mvc:resources>应用程序URL和目录内容之间配置映射而受益。但是AFAIK的mapping属性仅处理上下文相关或类路径映射。因此,我想使用的是:<mvc:resources ...
2024-01-10
重新加载或刷新测试方法中的Spring应用程序上下文?
我需要在测试类的单个方法中更改applicationContext中活动的Spring概要文件,并且由于我使用的是ProfileResolver,因此在刷新竞赛之前,我需要运行一行代码。我尝试了以下方法:@WebAppConfiguration@ContextConfiguration(locations = {"/web/WEB-INF/spring.xml"})@ActiveProfiles(resolver = BaseActiveProfilesResolverTest.class)public c...
2024-01-10
如何在Spring中加载资源并将其内容用作字符串
如何加载Spring资源内容并将其用于设置bean属性或将其作为参数构造函数传递?该资源包含自由文本。回答:在一行中,尝试读取test.xml:String msg = StreamUtils.copyToString( new ClassPathResource("test.xml").getInputStream(), Charset.defaultCharset() );...
2024-01-10
使用MockMvc测试spring下载链接时,“找不到可接受的表示形式”
我有一个控制器,应允许下载具有任意内容类型的文件:@GetMapping(value="/download/{directory}/{name}", consumes=MediaType.ALL_VALUE)@Timedpublic ResponseEntity<byte[]> downloadFile(@PathVariable String directory, @PathVariable Stri...
2024-01-10
如何仅在受保护的端点上应用spring安全过滤器?
我具有以下Spring Security配置: httpSecurity .csrf() .disable() .exceptionHandling() .authenticationEntryPoint(unauthorizedHandler) .and() .sessionManagement() .sessionCreationPolicy(S...
2024-01-10
向存储在Spring安全上下文中的主体对象添加其他详细信息
我正在使用Spring 3.0和Spring Security3。我能够使用Spring Security对数据库进行身份验证。使用:SecurityContextHolder.getContext().getAuthentication().getPrincipal()我能够检索当前登录用户的用户名。我希望添加其他详细信息,例如用户ID和模块对存储在Spring Security上下文中的主体对象的访问,以便以后可以检索它。如何...
2024-01-10
使用Spring MVC时如何在不刷新整个页面的情况下重新加载HTML表
我正在使用带有Javascript的Spring MVC example.jsp文件。我已经坚持了很长时间。是否可以使用Javascript将数据库中的新数据转换为HTML表,而无需刷新整个页面?当某些事件将新数据加载到表中时,我只是不希望替换整个页面。回答:如果要使用JavaScript重新加载页面的一部分,基本上是AJAX。这就是你应该...
2024-01-10
Spring注解@Order
SpringBoot注释@orderThe lower the number, the higher the precedence如果使用@Order(-1000),那是什么意思?极高?回答:是的,@Order(-1000)比您说@Order(-1)或的优先级更高@Order(1000)。@Order(-2147483648) 具有最高优先级。在此处查看更多信息https://docs.spring.io/spring/docs/current/javadoc-api/constant-values.htm...
2024-01-10
使用TestNG的Spring依赖注入
Spring在以下方面很好地支持JUnit:使用RunWith和ContextConfiguration注释,事情看起来非常直观@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = "classpath:dao-context.xml")该测试将能够在Eclipse&Maven中正确运行。我想知道TestNG是否有类似的东西。我正在考虑迁移到“下一代”框架,但没有找到与Spring测试...
2024-01-10
在抽象超类中注入spring依赖项
我需要使用spring框架在抽象超类中注入依赖项。class A extends AbstractClassB{ private Xdao daox ; ... public setXdao() { ... }}class AbstractClassB{ .. private yDao daoy; public seyYdao() { ... }}我每次实例化Abstract class B时都需要传递超类依赖关系(可以在我的项目中以100多种方式将其子类化)appl...
2024-01-10
GET请求的Spring批注
这两种类型的spring GET方法有什么区别?首选方法是哪一种?@Component@Scope("request")@Path("/")public class TestComponent { @GET @Path("/hello") public String printHello() { return "hello"; }}与@Controllerpublic class TestController { @RequestMapping(value =...
2024-01-10
