-
Spring MVC - PropertiesSpring/Spring MVC 2021. 12. 30. 18:39728x90반응형
Properties
- 웹을 개발할 때 데이터 값 중 변하지 않는 값들을 저장하는 파일
- Spring MVC에서는 Properties에 저장되어 있는 데이터 값들을 사용한다.
더보기
Properties파일에서 문자들은 자동으로 decoding 되므로 작성하는데 어려움이 있다. (문자가 유니코드로 표시됨)
따라서 Properties Editor를 설치해주자.
Help -> Install New Software... -> Add ->Location
Name : Property Editor(이름은 아무렇게나 해도 된다.)
Location : http://propedit.sourceforge.jp/eclipse/updates
우선 사용할 Properties 파일을 만들고 간단한 데이터 값을 저장해 보자.
▼ data1.properties (/WEB-INF/properties/)
aaa.a1 = 100 aaa.a2 = 문자열1 bbb.b1 = 200 bbb.b2 = 문자열2
이제 Controller에서 Properties 파일에 저장된 데이터들을 직접 사용하는 방법에 대해 알아보자.
▼ Controller
@Controller @PropertySource("/WEB-INF/properties/data1.properties") public class testController { @Value("${aaa.a1}") private int a1; @Value("${aaa.a2}") private String a2; @Value("${bbb.b1}") private int b1; @Value("${bbb.b2}") private String b2; @GetMapping("/test1") public String test1() { System.out.println(a1); System.out.println(a2); System.out.println(b1); System.out.println(b2); return "test1"; } }
@PropertySource("/WEB-INF/properties/data1.properties")
- 사용할 properties 파일을 지정
- properties 파일에 저장되어 있는 데이터들은 decoding 되어 있다.
- 때문에 데이터 값을 가져오면 encoding 해줘야 한다.
- @PropertySource(value = {"/WEB-INF/properties/data2.properties"}, encoding = "UTF-8"을
해주거나 workspace에서 file encoding 방식을 UTF-8로 바꾸면 된다.
여러 propertie 파일을 가져오는 방법
1. @PropertySource("/WEB-INF/properties/data1.properties")
@PropertySource("/WEB-INF/properties/data2.properties")
2. @PropertySource(value = {
"/WEB-INF/properties/data1.properties",
"/WEB-INF/properties/data2.properties")
})
3. @PropertySources({
@PropertySource("/WEB-INF/properties/data1.properties"),
@PropertySource("/WEB-INF/properties/data2.properties")
})
@Value("${aaa.a1}")
- properties 파일에 저장한 값들을 Value를 통해 가져옴
- properties에 저장된 변수명과 꼭 같지 않아도 된다.
- 원하는 자료형으로 가져오면 된다. (데이터 값에 맞는 자료형으로 가져와도 됨)
728x90반응형'Spring > Spring MVC' 카테고리의 다른 글
Spring MVC - 유효성 검사 (JSR-303) (0) 2022.01.03 Spring MVC - Message (0) 2022.01.02 Spring MVC - Cookie (0) 2021.12.30 Spring MVC - ApplicationScope 빈 주입 (0) 2021.12.30 Spring MVC - ApplicationScope (0) 2021.12.29