Spring 에서 런타임 환경에서 프로퍼티 값을 변경하는 방법
·
Java/Spring
Spring Boot 및 일반 Spring 환경에서 외부 서비스 기반 설정 관리 방법어플리케이션을 구동할 때 필요한 설정값들은 보통 환경변수(Environment Variables)나 파일에 저장하여 관리합니다. 하지만 최근에는 설정값을 Zookeeper, AWS Secrets Manager와 같은 외부 서비스에서 불러오거나, 보안을 강화하기 위해 메모리 내에서만 설정값을 저장하는 방식이 점점 더 선호되고 있습니다. 이러한 요구사항을 충족시키기 위해 Spring Boot와 일반 Spring 환경에서 설정값을 효과적으로 관리하는 방법을 소개합니다.Spring Boot에서 환경 설정값 관리하기Spring Boot는 EnvironmentPostProcessor를 활용하여 어플리케이션 시작 시점에 환경 설정값을..
Spring 내에서 리소스 불러오기
·
Java/Spring
스프링 프레임워크에서 ResourceLoader를 활용한 파일 접근스프링(Spring) 프레임워크를 사용하다 보면 webapps 폴더 내의 파일들에 접근해야 하는 경우가 종종 발생합니다. 예를 들어, 설정 파일이나 정적 자원에 접근해야 할 때가 그렇습니다. 전통적으로는 ServletContext를 이용하여 파일에 접근할 수 있지만, 이 방법은 ServletContext에 의존적이라는 단점이 있습니다. 특히 특정 동작만을 위한 모듈을 추가하거나 테스트 환경에서 유연하게 사용하기 어렵습니다.스프링에서는 이러한 문제를 해결하기 위해 ResourceLoader를 제공하여 보다 유연하게 파일에 접근할 수 있도록 지원합니다. 이번 포스트에서는 ResourceLoader를 활용한 파일 접근 방법을 살펴보고, 실용적인..
JPA 테이블 매핑과 어노테이션 가이드
·
Java/JPA
JPA 테이블 매핑과 어노테이션 가이드JPA(Java Persistence API)에서 테이블을 정의하는 방법에 대해 자세히 알아보겠습니다. JPA는 자바 애플리케이션에서 관계형 데이터베이스를 객체지향적으로 사용할 수 있게 해주는 기술입니다.기본 엔티티 매핑가장 기본적인 엔티티 매핑에는 다음과 같은 어노테이션들이 사용됩니다:@Entity클래스가 JPA 엔티티임을 나타냅니다. 이 어노테이션이 적용된 클래스는 데이터베이스 테이블과 매핑됩니다.@Entitypublic class Order { // 클래스 내용}@Table엔티티와 매핑할 테이블을 지정합니다. 생략하면 엔티티 이름이 테이블 이름으로 사용됩니다.@Entity@Table(name = "ORDERS", uniqueConstraints..
Mybatis Mapper 자동 스캐닝 설정
·
Java/Spring Framework
MyBatis Spring 기본 설정 가이드1. SqlSessionFactory 설정SqlSessionFactory는 MyBatis의 핵심 컴포넌트로, 데이터베이스 연결과 SQL 실행을 관리합니다. 주요 속성 설명:dataSource: 데이터베이스 연결 정보를 담고 있는 빈을 참조합니다mapperLocations: SQL 매퍼 파일들의 위치를 지정합니다configLocation: MyBatis 설정 파일의 위치를 지정합니다typeAliasesPackage: 도메인 객체들의 패키지를 지정하여 별칭을 자동으로 생성합니다2. SqlSessionTemplate 설정SqlSessionTemplate은 MyBatis의 SqlSession을 스프링과 연동하기 위한 핵심 클래스입니다...