분류 전체보기
-
SpringBoot - JARBack-end/Spring 2020. 6. 27. 22:52
JAR 파일 생성하기 JAR를 실행하기 전에 먼저 해당 프로젝트의 JAR 파일을 생성해야합니다. mvn package 위 명령어를 실행하면 target폴더에 jar파일이 생성됩니다. 위 처럼 intelli J 자체 기능을 사용하여 생성할 수 있습니다. 생성하면 target 하위에 jar파일이 생성된 것을 볼 수 있습니다. java -jar xxx.jar 위 명령어로 jar파일을 실행시킵니다. 혹시 테스트 및 디버그를 포함히지 않고 jar를 생성하려면 mvn package -DskipTests -Ddebug 위 명령어들을 입력하고 jar를 생성하면 됩니다.
-
SpringBoot - 내장 웹 서버Back-end/Spring 2020. 6. 27. 22:45
내장 웹 서버 이해하기 SpringBoot는 Spring을 보다 쉽게 사용할 수 있도록 내장 웹 서버를 제공합니다. 기본적으로 Tomcat이 내장되어 있지만 어떻게 사용되고 있는지 이해하기 위해 직접 구현해보며 이해합시다. Tomcat 라이브러리 라이브러리에 위 세개가 내장되어있는 Tomcat입니다. 이 라이브러리를 사용하지 않고 직접 Tomcat을 구동시켜보겠습니다. 새로운 프로젝트를 생성하고 Application에는 SpringBoot에 관련된 어노테이션을 설정하지 않은 상태로 둔 가정하에 진행합니다. Tomcat을 new 연산자로 생성하고 포트 번호를 지정합니다. 그리고 경로를 지정한 후에 start 명령을 선언합니다. 정상적으로 구동된다면 오류 없이 Tomcat이 실행된 것을 확인할 수 있습니다...
-
SpringBoot - 자동 설정 관리Back-end/Spring 2020. 6. 27. 22:36
SpringBoot 자동 설정 관리의 개념 SpringBoot를 사용하면서 @SpringBootApplication 어노테이션이 자동으로 어떤 설정을 하는지 알아보겠습니다. @SpringBootApplication ? 스프링 부트 application을 생성할 때 @SpringBootApplication 를 통해 실행시킬 것입니다. 이 어노테이션은 사실 하나가 아니라 3가지의 어노테이션이 합쳐져 있습니다. @SpringBootConfiguration - @Configuration과 같은 Bean을 등록시켜주는 역할 @ComponentScan - @Component(@Service, @Repository, @Controller, @RestController, @Configuration)에 해당하는 어노테이..
-
SpringBoot - 의존성관리Back-end/Spring 2020. 6. 27. 22:30
SpringBoot 의존성 관리의 원리 parent 'parent' 라는 의존성을 넣으면 더 상위 의존성을 대려와 알아서 필요한 의존성 내용들을 추가해줍니다. pom.xml에 추가된 parent입니다. parent 내용으로 들어가보면 상위 부모인 spring-boot-dependencies가 나타납니다. 한 번 더 상위로 이동하면 최상위 의존성이 등장합니다. 최상위 부모에서는 위와 같이 버전은 한꺼번에 관리하고 있습니다. 또한 Maven에 해당되는 의존성들을 한 번에 볼 수도 있습니다. 의존성 관리를 하면 좋은점은? 상위 부모가 알아서 관리를 해주기 때문에 직접 관리하는 의존성이 줄어듭니다.(우리의 일이 줄어듬) 버전 수정을 하게 될 일이 있더라고 라이브러리 버전을 따로 맞춰줄 필요가 없습니다. 만약 p..
-
SpringBoot - 프로젝트 생성하기Back-end/Spring 2020. 6. 27. 22:23
개발 환경 Mac OS IDE : IntelliJ IDEA Ultimate Maven Terminal Java 8 프로젝트 생성하기 Maven을 사용하기 때문에 Maven을 선택하고 Next를 클릭합니다. GroupId에는 패키지명, ArtifactId는 프로젝트명을 작성합니다. 경로를 나타내는 곳입니다. 수정할 것이 없다면 Finish 클릭합니다. 프로젝트를 생성하면 우하단에 창이 뜰텐데 Enable Auto-Import를 클릭해주면 자동으로 Import 해줍니다. 기본적인 의존성 주입하기 기본적인 의존성 주입을 하기 위해 스프링 레퍼런스 가이드 홈페이지를 참조합니다. pom.xml에 기본적으로 들어가는 의존성들이며 추후에 설명하도록 하겠습니다. 간단히 말하면 parent는 부모의 부모 느낌으로 의존..
-
AWS Certificate Manager를 이용하여 SSL인증서 발급받기DevOps 2020. 6. 27. 19:10
Certificate Manager Https를 활용하기 위해서는 SSL인증서를 등록해야합니다. 이 때 사설 인증서를 이용하거나, 대리로 발급해주고 관리해주는 기업들을 활용하는 등 여러 방법이 있습니다. 이 방법들은 비용이 발생하게 되는 큰 단점이 있습니다. AWS에서는 Certificate Manager를 사용하여 인증서를 무료로 발급받고 관리할 수 있습니다. 발급 과정 AWS의 Certificate Manager에 접속하여 시작하기를 클릭합니다. 공인인증서 요청을 통해 인증서를 요청하겠습니다. 등록한 도메인에 추가를 해야합니다.(즉, 이미 등록된 도메인이 존재해야합니다.) *을 입력하면 해당되는 모든 경로를 포함한다는 의미입니다. 인증서 발급시 검증 방법을 선택합니다. 저는 DNS를 선택하였습니다. ..
-
AWS Route 53을 이용해 도메인 등록하기DevOps 2020. 6. 27. 19:09
Route 53 먼저 도메인을 등록해보기 전 Route 53은 무엇이며 어떤 역할을 해주는지에 대해 살펴보겠습니다. Route 53은 AWS에서 제공하는 관리형 DNS(Domain Name System) 서비스입니다. DNS서비스란 도메인 또는 호스트 명을 IP로 변환해주는 서비스입니다. DNS 서비스는 계층적으로 구성되어 있어, 특정 도메인을 서비스하는 DNS를 On-premise 환경에 구축을 해야하는 등 많은 학습과 시간이 필요합니다. 하지만 클라우드 환경에서는 Route 53같은 DNS서비스를 통해서 누구나 손쉽게 도메인을 컨트롤 할 수 있습니다. 도메인 구매하기 먼저 AWS에 접속하여 Route 53에 접속합니다. 하단에 도메인 등록을 클릭합니다. 아직 구매 및 등록한 내역이 없기 때문에 비어있..
-
Springboot와 AWS 연동하기 (운영 환경 설정하기)DevOps 2020. 6. 27. 18:52
자동 배포까지 완료하였고 이제 SpringBoot에서 실제 운영 DB를 가지고 있지 않기 때문에 AWS, RDS와 프로젝트를 연동해야 합니다. 그래서 실제 운영 환경 설정을 하겠습니다. 운영 DB 의존성 추가하기 Maria DB를 추가하기 위해 아래의 코드를 추가합니다. compile("org.mariadb.jdbc:mariadb-java-client") 위 코드를 추가했다면 의존성 추가는 끝입니다. 로컬 YAML(.yml) 파일 수정하기 로컬 환경에서 DB를 다루기 위해 파일을 수정해야 합니다. 내부 환경은 application.yml에서 수정해야 하기 때문에 아래의 코드와 같이 변경합니다. spring: profiles: active: sroom-db # 기본 환경 선택 jpa: properties:..