Spring Boot properties 값 가져오는 방법 JUnit Test
개발환경
Spring boot : 3.0.6
Maven
Ecplipse 2023-3
Java 17
Swagger UI (springdoc-openapi-starter-webmvc-ui 2.0.2)
[1] application.properties 값 가져오는 방법
application.properties 파일에 아래와 같이 작성
# user Info
app.myname = app
Junit Test 파일을 아래와 같이 작성
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class DemoManagerApplicationTests
{
// application.properties
@Value("${app.myname}")
public String appName;
@Test
void contextLoads()
{
}
@Test
void getPropertyNameTest()
{
System.out.println("--test--");
System.out.println(appName);
}
}
[2] 사용자 정의 properties 값 가져오는 방법
사용자 정의 properties 작성
예시) demo.properties
# demo info
custom.myname = demo
스프링이 해당 파일을 찾을 수 있도록 PropertiesFactoryBean 을 리턴하는 구성파일을 작성한다.
import org.springframework.beans.factory.config.PropertiesFactoryBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
@Configuration
public class PropertyConfig
{
@Bean(name = "demo")
PropertiesFactoryBean demoPropertiesFactoryBean()
{
PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean();
ClassPathResource classPathResource = new ClassPathResource("demo.properties");
propertiesFactoryBean.setLocation(classPathResource);
return propertiesFactoryBean;
}
}
Junit Test 파일을 아래와 같이 작성
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class DemoManagerApplicationTests
{
// 사용자 설정 properties
@Value("#{demo['custom.myname']}")
public String customName;
@Test
void contextLoads()
{
}
@Test
void getPropertyNameTest()
{
System.out.println("--test--");
System.out.println(customName);
}
}'자바(JAVA) > 스프링(Spring) & 스프링부트(Spring Boot)' 카테고리의 다른 글
| JDK 17(Zulu 17 설치) 및 JDK 여러 버전 동적 사용 방법 (0) | 2023.05.22 |
|---|---|
| Swagger(SpringDoc) RESTful API 문서 자동화 테스트(Spring boot 3) (0) | 2023.05.18 |
| Spring Boot 3.x에 Swagger 적용 : springdoc-openapi 라이브러리 사용 (0) | 2023.05.17 |