草庐IT

Spring-boot

全部标签

java - Spring Data Rest - 软删除

我一直在使用springdatarest没有任何问题,但现在我有一个要求,即当用户对给定实体执行DELETE操作时,即DELETE/accounts/我需要在数据库上设置一个标志,将该实体标记为已删除,但我确实想保留记录。基本上这意味着我需要在数据库中执行UPDATE而不是DELETE操作。我找不到任何方法来覆盖delete(ID)方法的spring行为。部分代码:@Entity@Table(name="account")publicclassAccount{/*DefaultvalueforthisfieldisfalsebutwhenareceiveaDELETErequestfo

java - 如何在 Spring Boot 中实现通用 JPA 存储库——它可以自动连接到任何实体/类类型的 spring 服务中

这是扩展了springPagingAndSortingRepository的示例GenericRepository实现,@NoRepositoryBeanpublicinterfaceGenericRepositoryextendsPagingAndSortingRepository{publicListfindByNamedQuery(Stringname);publicListfindByNamedQueryAndParams(Stringname,Mapparams);publicTfindOneByNamedQuery(Stringname);publicTfindOneByN

java - 如何暂时禁用Spring缓存的缓存

我有一个用@Cacheable注释注释的springbean,定义如下@ServicepublicclassMyCacheableBeanImplimplementsMyCacheableBean{@Override@Cacheable(value="cachedData")publicListgetData(){...}}我需要此类能够禁用缓存并仅处理来自原始源的数据。这应该基于来自外部的某些事件而发生。这是我的方法:@ServicepublicclassMyCacheableBeanImplimplementsMyCacheableBean,ApplicationListener{

java - 在 Spring Web 服务器中创建线程以运行超时任务

我正在尝试创建一个运行一组任务的线程,如果它没有在特定时间(比如100秒)内完成,则会抛出异常。目前我正在尝试通过将任务封装到runnable对象中并使用ExecutorService和Future类来执行超时执行来实现这一点。然而,当我启动我的Web服务时,我得到了这个异常:java.util.concurrent.ExecutionException:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'scopedTarget.localhostInterpolatorH

java - 来自根路径的 Zuul 路由

我用Eureka发现了一些微服务。他们中的大多数都提供了一些API。我有称为“网关服务”的“边缘”服务,实际上是Zuul代理。问题是有一个网络应用程序。它由网关服务托管了很长时间,没有任何问题。但是现在我需要在网关后面的单独服务上托管这个客户端。这不是问题。我创建了新服务并将Web应用程序放在那里。但问题是网关服务上的Zuul有下一个配置zuul:ignoredServices:'*'prefix:/apisensitiveHeaders:Cookie,Set-Cookieroutes:config-service:path:/conf/**serviceId:config-servi

java - 使用 org.springframework.oxm jaxb2marshaller 追加 CDATA

我在使用jaxb2marshaller使用CDATA将少数元素编码为XML时遇到了大麻烦。我已经完成了以下解决方案:JAXBMarshallingUnmarshallingwithCDATAHowtogenerateCDATAblockusingJAXB?等等,但找不到合适的解决方案。他们要么告诉切换到旧的JAXB实现,要么使用MOXY。但是,这不是我的要求。我使用OXM库实现了以下两个类,并希望生成一个XML,其中很少有元素需要附加CDATA。importjava.util.HashMap;importjava.util.Map;importorg.springframework.c

java - 无法加载驱动程序类 : org. h2.Driver with spring boot

这个问题在这里已经有了答案:Cannotloaddriverclass:com.mysql.jdbc.DriverSpring(15个答案)关闭5年前。@SpringBootApplication@Slf4jpublicclassStarter{publicstaticvoidmain(String[]args){SpringApplication.run(Starter.class,args);}}应用程序.ymlspring:profiles:defaultallowedIPPattern:127.0.0.1|0:0:0:0:0:0:0:1|::1jpa.hibernate.ddl

Spring(21) 在 Spring Boot 中使用 Undertow 作为嵌入式服务器

目录一、四种Web服务器1.1Tomcat服务器1.2Jetty服务器1.3Undertow服务器1.4Netty(响应式场景)二、Undertow介绍三、SpringBoot中使用Undertow四、配置属性4.1配置文件4.2编程式配置五、补充5.1启动时的警告日志一、四种Web服务器通过org.springframework.boot.autoconfigure.web.ServerProperties查看,可以看到这里包括了Tomcat、Jetty、Netty、Undertow四种服务器的设置,默认启用Tomcat。1.1Tomcat服务器Tomcat:是SpringBoot默认采用的

java - log4J 未写入 Spring Boot 微服务中的特定日志文件

我正在尝试使用Log4j写入我的文件系统中的本地日志文件。实际上使用了来自不同项目的确切属性文件,只是更改了顶级目录的名称以匹配我的应用程序的名称。不同的项目写入logs.log文件,但这根本不打印任何内容。两个项目都使用相同版本的log4j。pom.xmllog4jlog4j1.2.17在我基于Unix的macOS上,我进入/var/log/并执行了以下操作:sudomkdirmyappchmod777myapp在myapp中,到处都有以下设置:if(log.isDebugEnabled(){log.debug("printsomething");}myapp/src/main/re

java - 使用 Jackson 将 Instant 序列化为 ISO8601 时强制毫秒数

我在一个项目中使用SpringBoot2.0.0.M6、SpringFramework5.0.1时有一些关于使用Jackson进行JSON序列化的问题。发布和Jackson2.9.2。我在application.properties中配置了以下与Jackson相关的设置:spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false序列化主要在我需要的时候工作。不过,我注意到Jackson似乎会在000时截断毫秒数。测试1:将毫秒设置为000的Instant序列化:使用Instant.parse("2017-09-14T04:2