데브림의 블로그 포스팅 한 것들을 한 눈에 확인하고 싶다면 클릭!
👉 https://github.com/DevLimK1/tistory-map 👈
오늘은
스프링의 @PropertySource 와 @Value 어노테이션을 사용하여
DBconfig 자바 코드에 설정한 MySQL 사용자계정 정보를
application.properties 파일에 분리하여 관리하는 방법을 알아보겠다.
따로 분리하지않고 원격저장소(github)에 그대로 커밋해서 저장하게된다면
그대로 나의 DB정보(아이디,패스워드)가 노출될 위험😱이 있다.
따라서 원격저장소가 private하지않다면
따로 파일을 분리해서 코드를 작성하는 것이 효율적이라 할 수 있겠다.
자바코드에 작성한 방법 😲
MySQL에 사용할 DB의 사용자계정 정보를 코드에 정의하였다. (빨간 네모박스)
위처럼 코드안에 DB정보를 작성하면 유지보수에 어려움을 겪을 수 있고
github 같은 원격저장소에 저장하면 DB정보가 노출되는 문제가 발생한다.
application.properties 파일에 분리해보자 🧐
DBConfig.java
16 : @PropertySource("classpath:application.properties") // application.properties 클래스 패스 지정
20,23,26,29 : @Value 어노태이션을 이용해서 application.properties 에 있는 값 매칭
정리✍
✔ DB의 사용자계정 정보를 자바코드에 작성하게 되면 계정 정보 노출 우려가 있다, 유지보수도 어려울 수 있다.
👉 application.properties 에 따로 분리해서 코드 작성하자. (파일명은 자유롭게 작성가능한데 datasource.properties 라고 작성하는 경우도 있음)
✔ @PropertySource, @Value 어노테이션을 사용해서 application.properties 에 있는 값을 가져오자.
긴 글 끝까지 읽어주셔서 감사합니다 : )
TIL 포스팅은 스스로 습득한 지식과 강의, 블로그, 서적 등을 참고해서
이해한 것을 바탕으로 정보를 공유합니다.
포스팅에 문제가 있거나, 수정이 필요한 부분 , 질문이 있으시면 댓글 남겨주세요.
도움이 되셨다면 공감(♥)버튼, 댓글은 작성자에게 큰 힘이 됩니다.
'Spring(스프링) 프레임워크 > TIL(Today I Learned)' 카테고리의 다른 글
펜잡이 개발자🖍[Spring] Lombok을 사용해서 Bean을 추가해보자! (0) | 2020.09.02 |
---|---|
[Spring_TIL] Spring(스프링) @RestController에서 method(메소드) 리턴타입을 Map과 DTO로 작성하기 (0) | 2020.07.27 |
[Spring_TIL] Spring IoC(Inversion of Control) 컨테이너에 대해 코드를 통해 쉽게 이해해보자 (0) | 2020.07.23 |
[Spring_TIL] 자바(JAVA)의 다형성을 통해 알아보는 스프링 프레임워크를 쓰는이유 (1) | 2020.07.21 |
댓글