서론 WebMvcTest를 이용하여 테스트를 수행하려 했지만 다음과 같은 문구와 함께 오류가 발생했다. Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaAuditingHandler': Cannot resolve reference to bean 'jpaMappingContext' while setting constructor argument at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:377) at o..
전체 글
기존에 Java 11로 개발을 진행했었다. SpringBoot 3.1.1 버전으로 프로젝트를 생성하면서 자바 버전 충돌이 났다. SpringBoot 3.0부터는 Spring Framework 6 버전을 사용한다. 공식문서에 따르면 Spring 6부터는 Java 17만을 지원하기 때문에 자바 17 아래버전인 경우 프로젝트를 빌드할 수 없다. https://spring.io/blog/2022/11/16/spring-framework-6-0-goes-ga Spring Framework 6.0 goes GA Dear Spring community, It is my pleasure to announce that Spring Framework 6.0.0 is generally available from Maven ..
Spring Security를 사용해 권한 계층을 구현하려고 했으나 @Secured를 사용하면서 RoleHierarchy가 적용되지 않는 문제가 발생했다. [환경] java 11 Spring Boot 2.7.6 Spring Security 5.7.5 [시나리오] 시나리오는 다음과 같다. SecurityConfig 설정에서 @EnableGlobalMethodSecurity 설정을 이용해 securityEnabled = true 속성을 지정해 @Secured어노테이션을 사용 권한 계층을 지정하기 위해 다음과 같이 RoleHierarchy 설정을 Bean으로 등록 ADMIN > MANAGER > USER 설정으로 ADMIN은 MANAGER, USER의 권한에 대해 수행 가능해야한다. 다음과 같이 @Secure..
Spring Boot 프로젝트에 swagger를 적용하려고 했으나 다음과 같은 문제가 발생했다. org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:181) ~[spring-context-5.3.23.jar:5.3.23] at org.springframework.context.sup..
org.flywaydb flyway-mysql 9.1.6 [환경] SpringBoot 2.7.3 Mysql 8.0.29-arm64 SpringBoot에서 MySQL과 Flyway를 사용하기 위해 의존성을 추가했다. org.flywaydb flyway-core 9.1.6 mysql mysql-connector-java 8.0.29 PostgreSQL을 사용할때는 flyway-core만으로도 실행이 가능했지만 MySQL을 사용할 때는 다음과 같은 오류와 함께 실행이 되지 않는다. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path ..
Gson gson = new Gson(); HashMap jsonObject = gson.fromJson(input.toString(), new TypeToken(){}.getType()); result.add(jsonObject); 위와같이 작성하였을 때 com.google.gson.stream.MalformedJsonException이 발생했다. 다루는 데이터중 특수문자 ㎖ 및 공백으로 인해 해당 오류가 발생 Gson을 사용할 때는 한글, 영어, 일부 특수문자를 변환할 수 없기 때문에 별도의 변환작업이 필요하다. public String replaceStr(String str) { String tempStr = str.replace("㎖", "ml"); // 한글, 영어, 일부 특수문자를 제외한 문자..