강의 정리
인프런에서 백기선님의 스프링 부트 개념과 활용을 수강하고 개인적으로 공부한 내용을 정리한 글입니다. HTTPS 적용하기 HTTP는 평문으로 통신을 하기 때문에 보안상의 문제가 있다. HTTPS는 HTTP 통신에 암호화를 적용해 보안이 강화된 프로토콜이다. keystore는 암호화/복호화와 디지털 서명에 필요한 key, certificate를 추상화해서 제공하는 Java의 인터페이스다. keytool은 keystore 기반으로 인증서와 key를 관리할 수 있는 유틸리티로 JDK에 포함되어 있다. keytool -genkey 명령어로 keystore를 만들어보자. keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keysto..
인프런에서 백기선님의 스프링 부트 개념과 활용을 수강하고 개인적으로 공부한 내용을 정리한 글입니다. 스프링 부트 ≠ 서버 Spring 프레임워크를 쉽게 사용할 수 있게해주는 Tool일 뿐, 스프링 부트 자체는 웹 서버가 아니다. 내장 서블릿 컨테이너 개요 spring-boot-starter-web을 사용한 프로젝트엔 톰캣(Tomcat)이 기본적으로 내장되어 있다. 톰캣은 데이터를 동적으로 처리하기 위한 서블릿 컨테이너로, JSP, 서블릿 처리, HTTP 요청과 응답 등을 처리한다. 자동 설정이 없다고 가정하고 Servlet을 만들어서 톰캣에 등록해보자. @SpringBootApplication public class Application { public static void main(String[] ar..
인프런에서 백기선님의 스프링 부트 개념과 활용을 수강하고 개인적으로 공부한 내용을 정리한 글입니다. 자동 설정의 개요 스프링 프로젝트가 실행되는 지점인 메인 어플리케이션의 기본적인 형태는 다음과 같다. @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 여기서 @SpringBootApplication는 세개의 어노테이션을 하나로 합쳐놓은 형태다. @SpringBootConfiguration @ComponentScan @EnableAutoConfiguration 스프링 부트 어플리케이션은 Bean을 두 단..
인프런에서 백기선님의 스프링 부트 개념과 활용을 수강하고 개인적으로 공부한 내용을 정리한 글입니다. 의존성 관리 처음 프로젝트를 생성하고 pom.xml에서 설정을 할 때 아래와 같은 의존성을 추가했었다. org.springframework.boot spring-boot-starter-parent 2.0.3.RELEASE org.springframework.boot spring-boot-starter-web spring-boot-starter에서 제공하는 라이브러리들의 버전을 따로 명시하지 않았는데도 적절한 버전을 가져오고 있다. 이건 스프링 부트에서 제공하는 의존성 관리 기능 덕분이다. parent인 spring-boot-starter-parent.pom에 들어가보면 parent가 또 들어있다. 한번 더..
인프런에서 백기선님의 스프링 부트 개념과 활용을 수강하고 개인적으로 공부한 내용을 정리한 글입니다. 스프링 부트 소개 스프링 부트는 프로덕션 수준의 스프링 기반 어플리케이션을 쉽게 만들 수 있게 해준다. 스프링 플랫폼 뿐만 아니라 서드파티 라이브러리(ex. tomcat)에 대한 설정을 기본적으로 제공해준다. 스프링 개발을 할 때 더 빠르고 폭넓은 사용성을 제공한다. 일일이 설정하지 않아도 컨벤션으로 정해진 설정을 제공해준다. 개발자가 원한다면 이런 설정을 쉽고 빠르게 바꿀 수 있다. xml 설정과 code generation을 더 이상 하지 않는다. 스프링 부트 프로젝트 만들기 준비물 Java 8 이상 스프링 5.0 이상 maven 3.2+, gradle 4 Maven 프로젝트 설정 Intellij 에서..