본문 바로가기

Spring6

[spring] application.properties 여러개 만들어서 편하게 설정 변경하기 스프링(SPRING)의 다양한 환경에 따라 application.properties 적용하기 스프링 개발을 하다보면 application.properties를 상황에 따라 바꿔야할 때가 있습니다. 예를 들면 혼자 개발할 때의 DB서버 설정, 같이 개발할 때 DB서버 설정, 테스트 서버와 연결할 때 설정 등등 그때 마다 주석처리하고 풀고하는 방법도 있지만 개발환경에 여러개라면 이것도 쉬운 방법은 아닙니다. 그래서 이번에는 application.properties를 여러개 만들어서 사용하는 법을 정리하고자 합니다. 1. application-{설정명}.properties 파일을 만들기 파일 이름을 application-{설정명}.properties과 같이 만듭니다. 아래 예시 코드는 스프링에서 mysql 서.. 프로그래밍사업/사이드 프로젝트 2023. 2. 11.
[스프링, 도커] 도커로 스프링 배포하기 스프링으로 간단한 서비스를 구현하고 나서 서버에 배포하여 언제든지 내가 만든 서비스를 이용하고 싶었습니다. 그래서 도커를 이용하는 배포하는 방법을 소개해보고자 합니다. 순서 1. 도커 파일만들기 2. 도커 파일로 이미지 만들기 3. 만든 이미지로 컨테이너 만들기(마운트 포함) 4. 스프링 빌드 파일 업로드 하기 1. 도커 파일 만들기 도커 파일 만들기는 쉽습니다. 간단히 메모장에 확장자 없이 Dockerfile이라는 이름으로 하셔도 되고 다른 이름을 사용하셔도 경로 설정만 해주시면 사용할 수 있습니다. 하지만 보통은 Dockerfile이라고 만듭니다. 도커 파일 내용 첫번째는 이 이미지의 베이스가 되는 이미지를 의미합니다. 두번째는 폴더위치를 바꾸는 명령어라는데 저는 그냥 기본 폴더, 시작하는 폴더라고 .. 프로그래밍사업/도커(docker) 2022. 11. 23.
[스프링 부트 + JPA + MySQL] 간단한 회원 관리 예제로 알아보는 스프링 부트 -4탄 Controller와 웹화면 만들기 마지막으로 실제 웹 화면을 보여주는 Controller부분입니다. 이 부분은 자바 뿐아니라 HTML도 어느 정도 알고 있어야되는 부분입니다. 처음 스프링을 공부하기로 마음 먹고서 패스트캠퍼스의 남궁성님의 강의과 인프런의 김영한님의 강의 중에 고민을 많이 했는데 저는 김영한 님의 강의를 선택하였습니다. 그 이유는 1. 무료로 스프링부트가 어떤거구나 알려주는 강의여서 2. 배달의 민족과 같이 대규모 서비스를 구축해본 경험과 실제로 사용하는 것만 가르쳐준다 이 두가지 이유로 김영한님의 강의를 선택하였고, 유료 강의도 두개 이미 결제하였습니다. 아무튼 스프링 부트를 시작하시려는 분들께 저의 포스팅이 조그이나마 도움이 되실기 빕니다. 그럼 마지막 컨트롤러 부분을 시작해보겠습니다. HomeController 만들기.. 프로그래밍사업/사이드 프로젝트 2022. 11. 16.
[스프링 부트 + JPA + MySQL] 간단한 회원관리 예제로 알아보는 스프링 부트 -3탄 Service 만들기 서비스 부분은 앞서 만든 Repository를 이용하여 회원가입, 회원조회 등 실제 서비스를 구현하는 부분입니다. 사실 Repository와 Service부분을 합쳐도 되는거 아니야 라고 생각을 했지만 김영한님의 스프링 강의를 쭉 들어보니 각각의 기능들을 구분하고 분리해놔야 유지보수가 쉽다는 것을 알았습니다. 예를 들어 입문 강의에서 JDBC 템플릿에서 JPA로 바꾸는 과정에서 repository와 service가 합쳐져 있으면 바꿔 끼우는것이 어려웠을텐데 코드 한줄만 바꾸면 쉽게 교체가 되었습니다. 자세한 내용은 인프런 스프링 부트 입문 강의를 들어보시면 알수 있습니다. [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가.. 프로그래밍사업/사이드 프로젝트 2022. 11. 15.
윈도우에서 스프링 빌드(build) 하는 방법 Spring 윈도우에서 빌드(build)하는 방법 1. cmd 창을 열어 프로젝트 폴더로 갑니다. 2. gradlew.bat 치고 엔터 3. gradlew build 치고 엔터 4. build -> libs 폴더로 갑니다. 5. 프로젝트명-0.0.1-SNAPSHOT.jar 파일 있는지 확인 후 6. 그 파일이 있는 폴더로 가서 java -jar 프로젝트명-0.0.1-SNAPSHOT.jar 입력 매번 이렇게 하기 귀찮으면 배치 파일을 만들어서 사용하시면 쉽게 서버를 기동할 수 있습니다. 프로그래밍사업/사이드 프로젝트 2022. 11. 14.
[스프링 부트 + JPA + MySQL] 간단한 회원 관리 예제로 알아보는 스프링부트 -2탄 Repository 만들기 이번에는 DB에서 한 발자국 나아가 Repository를 만들어 보겠습니다. 리포지토리는 DB에 실제 저장, 불러오기 등의 기능을 구현하는 곳입니다. 실제 강의에서는 인터페이스를 이용해서 Memory기반에서 JDBC, JDBC Templete, JPA 순으로 다형성을 이용하여 구현하는 방법을 배웠으나, 저는 JPA만 가지고 구현하고 테스트 코드까지 정리해보겠습니다. 도메인 만들기 도메인은 아마도 MVC 모델에서 M에 해당하는 부분이 아닐까 추측해봅니다. 이 도메인은 우리가 다룰 데이터의 자료형이라고 생각하시면 됩니다. 저장할때도 Member 객체를 만들어서 저장할 것이고, 사용할때도 Memeber 객체를 이용하여 사용할 것입니다. JPA 관련 설정 @Entity: DB 테이블을 매핑 @Id: 이것을 pk.. 프로그래밍사업/사이드 프로젝트 2022. 11. 14.