草庐IT

java - spring boot中如何使用自定义logger记录访问日志

目前在SpringBoot1.3中,我们只能将访问日志记录到文件系统中的文件中。有什么方法可以实际使用自定义记录器(如log4j2)来记录访问日志?我目前正在使用带有springboot的undertow,但是在检查了springboot源代码之后,undertow记录器使用正在写入文件的DefaultAccessLogReceiver进行了初始化。如果可能,我想使用AccessLogHandler,并避免编写记录访问的Web过滤器。有什么简单的方法可以解决这个问题吗?(除了写一个拉请求) 最佳答案 解决这种不可自定义的硬编码问题的

java - keycloak CORS 过滤器 Spring Boot

我正在使用keycloak来保护我的休息服务。我指的是给定的教程here.我创建了其余部分和前端。现在,当我在后端添加keycloak时,当我的前端调用api时出现CORS错误。SpringBoot中的Application.java文件看起来像@SpringBootApplicationpublicclassApplication{publicstaticvoidmain(String[]args){SpringApplication.run(Application.class,args);}@BeanpublicWebMvcConfigurercorsConfiguration()

java - 在 Spring Boot MVC 单元测试中无法获取 HAL 格式

我正在使用SpringBoot尝试SpringHATEOAS。而且我放心地写了一个单元测试:given().standaloneSetup(newGreetingApi()).accept("application/hal+json;charset=UTF-8").when().get("/greeting").prettyPeek().then().statusCode(200).body("content",equalTo("Hello,World")).body("_links.self.href",endsWith("/greeting?name=World"));测试返回响应

java - AutoIncrement Id PostgreSQL 和 Spring Boot Data JPA

我在尝试在PostgreSQL数据库中创建新记录时遇到问题。我只想向REST服务发布一个新用户(int:id、String:email、String:password)但是,我遇到了这个错误:"exception":"org.springframework.dao.DataIntegrityViolationException","message":"couldnotexecutestatement;SQL[n/a];constraint[id];nestedexceptionisorg.hibernate.exception.ConstraintViolationException:

spring - 在 Spring 4/Boot 中完全集成加密属性

我们正在使用Jasypt加密一些配置属性(数据库密码),但由于解密key存储在每个环境的文件系统中,我们必须进行一些手动@Bean配置来加载密码然后该文件使用EncryptablePropertiesPropertySource覆盖加载属性。因为它是如此手动,我们不得不在WebApplicationConfig类的@PostConstruct中运行此代码,并且(尽管这还没有发生)它运行在数据源bean配置了对Environment的调用之后加载这些的风险-给出空指针异常。@Lazy加载是一种选择,但显然这意味着我们将使用我们希望避免的脆弱配置。最终我们希望能够使用默认的classpat

spring - Spring Boot 中的 I18n + Thymeleaf

我正在尝试使用Springboot和Thymeleaf制作多语言应用程序。我制作了几个属性文件来保存不同的消息,但我只能用我的浏览器语言显示它(我尝试了扩展来更改浏览器区域设置,但它们似乎不起作用),无论如何我想放一个按钮在我的网站上执行此任务(更改语言),但我不知道如何或在哪里可以找到如何管理此任务。给你看我的配置:项目结构I18n配置类importorg.springframework.context.MessageSource;importorg.springframework.context.annotation.Bean;importorg.springframework.c

java - Spring Boot 中 OffsetDateTime 的 jackson 日期格式

我正在尝试从我的Spring应用程序中输出一个OffsetDateTime,并在我的application.properties中有这些属性:spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=falsespring.jackson.date-format=yyyy-MM-dd'T'HH:mm但是,当返回日期时,它的格式为"2017-01-30T16:55:00Z"我应该如何正确配置Spring应用程序中的日期格式? 最佳答案 所以我已经设法找出一个解决方案,但如果你有替代方

Spring Boot + Spring Security + 分层角色

我试图在我的SpringBoot应用程序中设置分层角色,但没有成功。我已经完成了互联网上不同地方所说的所有内容。但是没有一个我能够解决这个问题。这是我的SecurityConfig类的代码。当我使用具有ROLE_ADMIN的用户登录应用程序时,它应该能够从“/users”检索数据,但目前我收到拒绝访问异常。如果用户拥有ROLE_USER凭据,则可以正常工作。谁能帮我弄清楚是什么失败了?提前致谢。@Configuration@EnableWebMvcSecurity@EnableGlobalMethodSecurity(securedEnabled=true,prePostEnabled

java - 如何避免 Spring Boot 加载 EmbeddedWebApplicationContext?

我有一个带有Camel-HTTP的SpringBoot集成应用程序。由于Camel-HTTP依赖于geronimo-servletSpringBoot正在尝试加载Web应用程序上下文。如何强制Spring不加载EmbeddedWebApplicationContext?我尝试使用@EnableAutoConfiguration(exclude=...)注释排除在org.springframework.boot.autoconfigure.web中找到的所有AutoConfiguration类。 最佳答案 您可以使用SpringApp

java - 如何使用 AES-256 在 Spring Boot 上设置 SSL (TLS)/HTTPS?

我按照HowtoconfigureSSL/HTTPSonSpring?在我的SpringBoot服务器上使用RSA(theirguide)设置SSL:使用keytool-genkey-alias-storetypePKCS12-keyalgRSA-keysize2048-keystorekeystore.p12-validity3650创建了一个新的keystore和key将这些行放在我的application.properties文件中:server.port:8443server.ssl.key-store:classpath:keystore.p12server.ssl.key-