본문 바로가기
728x90
반응형

전체 글179

Spring MVC의 PathPattern (AntPathMatcher, PathPatternParser) spring boot 버전을 2.3.2.RELEASE(spring 5)에서 3.2.5(spring 6)로 버전업 하면서 double slash(//)가 포함된 경로를 찾을 수 없는 이슈가 발생하였습니다. (사실 오랫동안 버전업을 안 해서 이제야 발견한 거지만...) 찾아보니 spring-webmvc 5.2.x 버전에서 5.3.x로 넘어가면서 현재 요청 경로를 가져오는 로직이 변경되었습니다. Spring 5.2 버전에서는 현재 요청 경로를 가져와야 할때 다음과 같은 방법으로 직접 가져왔습니다.// https://github.com/spring-projects/spring-framework/blob/5.2.x/spring-webmvc/src/main/java/org/springframework/web/ser.. 2024. 5. 8.
[SpringBoot3] RestTemplate 마이그레이션 스프링 프레임워크 6.0에서 Apache HttpClient에 대한 지원이 제거되어, org.apache.httpcomponents.client5:httpclient5로 대체되었습니다. 1. Maven Dependency 변경 org.apache.httpcomponents httpclient org.apache.httpcomponents.client5 httpclient5 2. RestTemplate 마이그레이션공식 문서를 보고 변경하는 것이 좋습니다.HttpComponentsClientHttpRequestFactory 클래스로 readTimeout과 connectTimeout을 설정하던 코드가 HttpClientConnectionManager 클래스를 통해 timeout 관련 설정 후 이를 .. 2024. 5. 7.
Spring Security 5에서 Spring Security 6으로 변경 (URL-권한 인가) 스프링 부트 3.0부터 스프링 시큐리티 6 버전이 적용되었습니다. 삭제되거나 deprecated된 코드가 많아서 마이그레이션 시 주의할 부분에 대해 알려드리겠습니다. 기존 버전 : 5.3.3.RELEASE최신 버전 : 6.2.4 기존 WebSecurityConfigurationAdapter를 상속받아 세팅하던 방식은 삭제되었고 SecurityFilterChain bean을 스프링 컨테이너에 등록해줘야함.authorizeRequests() → authorizeHttpRequests()로 변경antMatchers() → requestMatchers()로 변경로그인 페이지 리다이렉트 반복 접근 이슈 발생.dispatcherTypeMatchers(DispatcherType.FORWARD).permitAll() .. 2024. 4. 30.
ehcache2(net.sf.ehcache)에서 ehcache3(org.ehcache)로 변경 Spring Boot 3.0에서는 ehcache2에 대한 지원이 제거되었습니다.Jakarta EE 9 이상을 지원하기 위해 ehcache 및 ehcache-transactions 모듈에 대한 종속성 관리가 jakarta를 사용하여 선언되어 ehcache3로 버전을 업그레이드해야합니다. 1. Maven dependency 추가AS-IS) net.sf.ehcache ehcache 2.10.6 org.springframework.boot spring-boot-starter-cache 2.3.2.RELEASETO-BE) org.ehcache ehcache 3.10.8 jakarta org.springframework.boot spring-boot-.. 2024. 4. 30.
[JPA] Entity에 Enum 사용하기 JPA Entity에서 Enum 사용하는 이유코드 가독성Enum을 사용하면 코드의 가독성이 높아집니다. Enum은 코드에서 명시적으로 정의된 상수 집합이므로 해당 값을 사용하는 곳에서는 해당 의미를 명확하게 이해할 수 있습니다.안전성Enum을 사용하면 오타나 잘못된 값으로 인한 오류를 방지할 수 있습니다. 컴파일러는 Enum 값의 유효성을 검사하므로 잘못된 값이 사용되는 경우 컴파일 오류가 발생합니다.유지보수성코드에서 Enum 값을 수정할 때 해당 Enum을 사용하는 모든 곳을 찾아 수정할 필요가 없습니다. Enum 값만 수정하면 되므로 유지보수가 쉽습니다.타입 안정성Enum을 사용하면 타입 안정성이 보장됩니다. Enum 값은 해당 Enum 타입으로만 제한되므로 다른 타입의 값을 실수로 사용하는 문제를 .. 2024. 4. 25.
[SpringBoot] JPA Comment (주석 추가) 설정 방법 JPA Comment (주석 추가) 설정 방법 application.ymlspring: jpa: properties: hibernate: show_sql: false format_sql: true use_sql_comments: true # sql comments 사용 1. JPA Repository에 적용 방법To apply JPA QueryHints to the queries declared in your repository interface you can use the QueryHints annotation. It takes an array of JPA QueryHint annotations plus a boolean flag to potentiall.. 2024. 2. 2.
[Spring] log4jdbc로 쿼리 실행 결과 로그 출력 log4jdbc로 쿼리 실행 결과 로그 출력하는 방법을 알아보겠습니다. 1. pom.xml에 의존성 추가sql 로그를 남기기 위해 log4jdbc 의존성을 추가합니다. org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4.1 1.16https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4.1/1.16 2. jdbc properties 변경DBMS에 상관없이 driverClassName을 net.sf.log4jdbc.sql.jdbcapi.DriverSpy로 변경합니다.url은 jdbc:log4jdbc:{dbms}:{host} 로 변경합니다.spring: datasource: driver.. 2023. 9. 8.
[mysql] JAVA에서 INET_ATON, INET_NTOA 함수 사용 INET 함수는 ip를 정수로, 정수를 ip로 변환하는 함수입니다. 자바에서 hibernate를 사용하게 되면 SQL을 직접 사용하지 않기 때문에, 자바에서 INET 함수를 사용하는 방법을 알아보겠습니다. INET_ATON IP 주소의 숫자 값을 반환합니다. IPv4 네트워크 주소가 점으로 구분된 쿼드 문자열로 표현될 때, 네트워크 바이트 순서(big endian)로 주소의 숫자 값을 나타내는 정수를 반환합니다. INET_ATON()은 인수를 이해하지 못하거나 expr이 NULL인 경우 NULL을 반환합니다. mysql> SELECT INET_ATON('10.0.5.9'); -> 167773449 이 예제에서 반환 값은 (10×256)^3 + (0×256)^2 + 5×256 + 9로 계산됩니다. 자바 코.. 2023. 9. 6.
[QueryDSL] FullText 검색을 위한 Match ... against 절 사용법 MySQL에서 FullText 인덱스 검색을 하기 위해서는 MATCH(), AGAINST() 절을 사용해야합니다. (풀텍스트 인덱스에 대한 설명은 다른 블로그 포스팅을 참고해주세요.) 기존에 dialect는 MySQL5Dialect를 사용하고 있었습니다. properties.put("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect"); MySQL5Dialect를 커스텀하겠습니다. package com.moonsiri.config.hibernate.dialect; import org.hibernate.dialect.MySQL5Dialect; import org.hibernate.dialect.function.SQLFunctionTemplate; impo.. 2023. 8. 24.
[SpringBoot] QueryDSL org.apache.jasper.JasperException: Unable to compile class for JSP: 배경 JSP를 사용하는 환경에서 QueryDSL 라이브러리를 추가 후 빌드 시 'QueryDSL org.apache.jasper.JasperException: Unable to compile class for JSP:' 오류가 발생 원인 querydsl-apt 내 org.eclipse.jdt.core.compiler:ecj 종속성 강제 해결 querydsl-apt에 org.eclipse.jdt.core.compiler:ecj 종속성 제외 com.querydsl querydsl-apt provided org.eclipse.jdt.core.compiler ecj 2023. 8. 24.
728x90
반응형