본문 바로가기
728x90
반응형

분류 전체보기182

Jenkins에서 여러 Maven, JDK 버전 사용하는 방법 Jenkins에서 각 job 마다 실행할 Maven과 JDK 버전이 다른 경우가 존재하는데, 새로운 버전을 사용하기 위해 여러개 설정하는 방법을 알려드리겠습니다. 젠킨스 서버 접속우선 젠킨스가 실행 중인 서버에 접속하여 기존 버전이 설치되어있는 경로로 이동합니다.$ which mvn/home/user/apps/maven/bin/mvn$ which java/home/user/apps/jdk/bin/java$ cd /home/user/apps Maven 설치Apache Maven 홈페이지에서 다운로드 할 버전의 URL을 확인합니다. Maven 설치 후 압축 해제합니다.$ wget https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6.. 2024. 5. 9.
[JAVA] JDK 11에서 JDK 21로 변경하기 (LTS버전) SpringBoot 버전을 2.x에서 3.x로 변경하면서 JDK도 최신버전인 21로 변경하게되었습니다.JDK LTS 버전End Of Support Life212031년 9월172029년 9월112026년 9월82030년 12월 1. JDK 설치https://jdk.java.net/21/ 2. Maven Java version 변경 21 3. IntelliJ Project Settings[Ctrl+Shift+Alt] Project Strucature > Project Settings  4. Java EE 에서 Jakarta EE로 마이그레이션인텔리제이에서는 Java EE에서 Jakarta EE로 패키지 변경을 도와주는 마이그레이션 기능이 존재합니다.Refactor > Migrate Packages and .. 2024. 5. 8.
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.
[Java11] Composite Pattern 컴포지트 패턴 Composite Pattern객체들의 관계를 트리 구조로 구성하여 부분-전체 계층을 표현하는 패턴사용자가 단일 객체와 복합 객체 모두 동일하게 다루도록 하는 패턴Base Component클라이언트가 composition내의 오브젝트들을 다루기 위해 제공되는 인터페이스인터페이스 또는 추상 클래스로 정의되며 모든 오브젝트들에게 공통되는 메서드를 정의해야 함Leafcomposition 내 오브젝트들의 행동을 정의베이스 컴포넌트를 구현다른 컴포넌트에 대해 참조를 가지면 안됨CompositeLeaf 객체들로 이루어져 있으며 베이스 컴포넌트 내 명령들을 구현복수개의 Leaf, 복수개의 Composite 객체를 부분으로 가질 수 있음   1. Base ComponentLeaf와 Composite의 공통되는 메서드들.. 2023. 9. 21.
[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.
728x90
반응형