스프링부트: 97개의 글
| 이벤트 리스너( Event Listener ) 스프링 부트를 실행할 시 구동되는 단계마다 여러 이벤트들이 발생하게 됩니다. 스프링부트에서는 프로그래머가 이 이벤트들을 나타내는 객체를 인자로 받아 각 단계마다 원하는 처리를 할 수 있습니다. 스프링 부트가 구동될 때 여러 이벤트들이 있지만 그 중에서 ApplicationStartingEvent 와 ApplicationStartedEvent를 예로들어 알아보겠습니다. ApplicationStartingEvent는 다음 코드를 통해 처리할 수 있습니다. @Component public class AppStartedSampleListener implements ApplicationListener { @Override public void onApplicati..
| 스프링부트(Spring Boot) HTTPS 구축 스프링부트에서 HTTPS 설정법은 다음과 같습니다. Terminal 창에 다음과 같이 커맨드를 입력하여 keystore 파일을 하나 생성합니다. keytool -genkey -alias spring -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 4000 다음 알맞게 keystore에 대한 정보를 입력합니다. application.properties에 위에서 설정한 정보를 입력합니다. # application.properties server.ssl.key-store=keystore.p12 server.ssl.key-store-type=PKCS12 server.ss..
| 스프링 부트 내장 웹 서버 설정 스프링 부트 프로젝트를 생성할 시 스프링 부트에서는 내장 서블릿 컨테이너인 톰캣(tomcat)이 자동적으로 설정됩니다. 스프링 부트에서는 ServletWebServerFactoryAutoConfiguration 클래스에서 자동적으로 Tomcat 및 Jetty 같은 내장 웹서버에 대한 설정을 자동적으로 처리하며 스프링 부트 사용자가 쉽게 웹 서버 관련 설정을 하지 않아도 웹 서버를 프로젝트 안에 포함되게 합니다. @Configuration @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) @ConditionalOnClass(ServletRequest.class) @ConditionalOnWebApplication(type = Type...
| 사용자(Custom) Autoconfigure 클래스 선언의 문제점 @Configuration 어노테이션을 등록하여 Autoconfigure 스프링 부트 자동 설정을 만들었지만 여기에 문제점이 있습니다. @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication application = new SpringApplication(Application.class); application.setWebApplicationType(WebApplicationType.NONE); application.run(args); } @Bean public Saelobi saelobi(){ ..
| 스프링 부트 자동 설정 이해 스프링 부트는 스프링 프레임워크에서 어플리케이션을 만들 때 주로 사용하는 설정들을 자동으로 설정합니다. 이 기능은 자바의 main 진입점에 @SpringBootApplication을 붙임으로서 사용할 수 있습니다. @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication application = new SpringApplication(Application.class); application.run(args); } } 위 @SpringBootApplication는 다음의 어노테이션들을 붙인 효과와 동일한 기능을 합니다. @Configura..
| 스프링 부트 의존성 관리 (Spring Boot Dependency Management) 스프링 부트는 Maven, Gradle 같은 빌드 관리 툴을 통해 의존성을 관리합니다. 여기서는 Maven 기준으로 스프링 부트가 의존성을 어떻게 관리하는 지 살펴보도록 하겠습니다. pom.xml 에 스프링 부트에 대한 기본적인 의존성을 추가하면 다음과 같습니다. org.springframework.boot spring-boot-starter-parent 2.1.1.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test 다음과 같이 의존성을 추가하면 스프링 부트가 자체적..
| 스프링 부트(Spring Boot)란? 스프링 부트(Spring Boot)는 스프링 프레임워크 기반 어플리케이션을 더 빠르고 쉽게 개발할 수 있게 해주는 오픈소스 프로젝트입니다. 스프링 프레임워크만으로 개발할 때보다 간단한 설정만으로도 쉽게 웹 어플리케이션을 제작할 수 있습니다. | 인텔리제이(IntelliJ) IDE 인텔리제이(IntelliJ)는 JetBrain사에서 개발한 자바 IDE입니다. 기존의 이클립스(Eclipse) IDE보다 여러 면에서 월등하다고 평가받고 있는 IDE이며 유료 구독 버전인 Ultimate 버전과 무료 버전인 Community 버전을 사용할 수 있습니다. 아래는 인텔리제이 커뮤니티 버전을 받을 수 있는 사이트입니다. https://www.jetbrains.com/idea/..