[Spring] Properties 설정하기
- Web/Spring
- 2021. 4. 15.
Properties
이번 포스팅에서는 스프링의 기능 중 하나인, properties에 대해 설명을 갖도록 하겠습니다.
이 기능은 간단하게 표현한다면, public static final의 동일한 기능입니다.
Java의 가장 기초로 구성되어 있는 이것은 누구나 알수 있듯이 같은 프로젝트 내의 누구에게나 접근허용이 가능한 절대 변하지 않는 상수 입니다.
만약, public static final을 자주 쓰지 않는 사람이라면 당연히 properties까지 생소하게 들릴 수 있는데요.
이것을 왜 사용하는지 부터 알아보도록 하겠습니다.
▶ 사용하는 이유
- 유지보수 용이
- 관리하기 편함
- SERVER 패치후에도 수정이 가능
- 능동적 대응 가능
일단 사용하는 이유에 대해서, 손에 꼽는 이유라고한다면 유지보수입니다.
public static final의 지정은 API의 key를 관리하기 편하게 합니다.
public static final의 지정은 IP의 관리를 편하게 합니다.
public static final의 지정은 DB의 관리를 편하게 합니다.
이 문제에 관해서, 만약 server에 패치를 진행한다고 가정했을 때, 각 class는 server에서의 수정이 불가능할 정도로 깨지는 증상을 확인 할 수 있습니다.
그러나 properties는 메모장과 비슷하여, 서버패치 후에도 수정을 할 수 있는 장점을 보유하고 있습니다.
또한 사용자 환경에 따라 표시되는 결과를 다르게 표현 할 수도 있습니다.
만약 위의 문제에 대해 '아 저는 상관없습니다~' 할 경우에는 굳이, 사용할 필요가 없는 기능이지만
이 기능을 사용해야 한다면, 매우 좋은 기능 중 하나입니다.
여기서 잠깐~!
properties를 처음 설치하는 분들을 위하여, properties는 처음 사용시 한글이 깨지는 증상이 발생합니다.
따라서 사용 전에 properties를 설정먼저 진행하도록 하겠습니다.
■ Properties 설정하기
1. 프로퍼티스 만들기
간단한 설명을 위하여
properties의 위치는 jsp와 동일하게 작업 진행 했습니다.
Folder를 설정하여 properties의 위치를 jsp와 나누는 작업을 진행합니다.
File로 이름을 지은 후, 확장명을 properties로 지정합니다.
2. properties 내용 작성하기
내용은
pro.a1 = 100;
pro.a2 = 문자열1
이라고 작성했습니다.
작성 방식은 reference = value 입니다.
;의 표시는 잘못된 표현입니다.
여기서 보시다 싶이 문제가 발생하게 됩니다.
properties를 처음 사용할 때, 유니코드를 입력하게 될 경우 문자열이 변형되게 됩니다.
출력을 할 경우 원하는 문자가 출력은 되지만, 저렇게 되면 향후 자신이 글을 무엇을 썼는지 알 수 없게 됩니다.
3. Properties install 하기
위의 문제를 해결하기 위해 properties를 설정을 수정하도록 하겠습니다.
Help - install New Software에 접속합니다.
4. Properties ADD 하기
Add 버튼을 누르고
Name은 임의적으로 입력후
http://propedit.sourceforge.jp/eclipse/updates |
위의 링크를 location에 연결을 합니다.
5. Properties 설치하기2
Properties만 체크 후, next 진행하면 됩니다.
소요시간은 약 1분 - 3분 정도이며,
전부 설치 한 후 Finish를 누를 경우 Eclipse가 재부팅 됩니다.
재부팅이 안 될 경우, 설치에 실패한 것일 수도 있으니 참고바랍니다.
이후, 반드시 실행한 properties를 종료후 다시 실행하시게 된다면 이렇게 유니코드가 정상적으로 보이는 것을 확인 할 수 있습니다.
'Web > Spring' 카테고리의 다른 글
[Spring] MAVENREPOSITORY 활용하기, pom.xml 설정하기 (0) | 2021.05.09 |
---|---|
[Spring] 스프링 MAVEN 프로젝트 만들기 (0) | 2021.05.09 |
[Spring] LifeCycleException, Catalina Exception 해결하기 (0) | 2021.01.14 |
[Spring] Interceptor (0) | 2021.01.06 |
[Spring] MVC 이해하기3 (0) | 2020.10.26 |