Spring Boot란?
스프링 부트는 stand-alone, production-gradle 스프링 기반 어플리케이션을 쉽게 만들 수 있게 도와준다. Spring 플랫폼과 third-party 라이브러리에 대한 독단적인 뷰를 가지고 있어서 논쟁없이 시작할 수 있다. 대부분의 Spring Boot 어플리케이션은 최소한의 스프링 설정을 필요로 한다. Spring Boot를 활용해 자바 어플리케이션을 생성하면 -jar 또는 전통적인 war 디플로이먼트를 이용해 시작할 수 있다. 또한 우리는 spring scripts를 실행할 수 있는 커맨드 라인 툴을 제공한다.
주요한 목적은 다음과 같다.
- 모든 스프링 개발에 더 빠르고 널리 접근할 수 있는 getting started 경험을 제공한다.
- 독단적인 out of box가 되자. 그러나 시작 요건의 변화에 대해서는 빨리 지원한다.
- 프로젝트의 공통적으로 많은 클래스에 대한 비기능적인 범위를 제공한다. (예 - embedded servers, security, metrics, health checks, externalized configuration)
- XML 설정이 필요없고 코드 생성이 필요없다.
다른건 건드리지 않고 Package만 demo로 바꾸어 주었다.
Next를 누르면..
Web - Web을 체크해주고 Finish 를 누르면 Import가 시작된다 (쫌 오래걸림~)
다음과 같은 프로젝트가 생성된다!.
console에 이런창이 뜬다.
이제 웹 브라우저를 띄워서 확인을 해보자
localhost:8080을 쳐주면
탁! 바로 404에러가 뜬다. 그래서 우린 hello world를 띄워주기 위해 컨트롤러를 수정해보자.
demo.controller 패키지를 만들어주고.. (demo는 최상위 패키지이기 때문에 나머지 패키지는 항상 demo보다 아래에 있어야한다)
그안에 HomeController 클래스 파일을 만들어 준다.
알아야할점은 어노테이션 부분이다.
@RequestMapping 컨트롤러가 처리할 요청 URL을 명시하는데 사용되며, 클래스나 메서드에 적용된다.
@RequestMapping("url") 처럼 받아서 처리해야할 url별로 맵핑하는 것이 일반적으로 사용된다. 위의 예제는 모든 localhost:8080에 대해 작용한다!
하지만 @RequestMapping("/home") 이라면 localhost:8080/home 으로 접속해야 Hello World! 가 출력된다.
@ResponBody html body 부분에 반응하라는 어노테이션이다.
자 이제 이 프로젝트를 Jar 배포파일로 생성해보자.
프로젝트 오른쪽 클릭 후 Run As -> Maven Install
를 하면 에러가 똭!!
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? 요런 에러가 뜬다.
jdk로 컴파일을 해주라는 말인거 같다.
환경변수를 해준 후에도 저러한 에러가 뜬다면 다음과 같이 해보자.
메뉴에서 window - Preferences 클릭 후에 java - Installed JREs 선택 한 후 Add 클릭하고 Standard VM 선택 후에 java jdk가 깔려있는 경로를 선택해주면 우르르 뜨고 피니쉬를 눌러주고 난뒤 jdk로 체크를 바꾸어준다.
이 후에 프로젝트 오른쪽 클릭하고 Build Path에서 Configure Build Path... 를 클릭
라이브러리 탭에서 JRE System Library 를 떠블 클릭 후에 디폴트를 바꾸어주고 OK OK 눌러준다음 다시 메이븐 인스톨 실행!
Maven Install 해주면 target 폴더에 Jar 배포파일이 생성된다. (처음 maven install 하면 시간이 조금 걸린다)
demo-0.0.1-SNAPSHOT.jar 배포파일이 만들어진다.
war파일은 처음에 프로젝트 생성할때 jar->war로 바꾸어주어서 생성하면 된다.
다음은 JPA에 대한 공부를 올려야지~
'Backend > spring' 카테고리의 다른 글
JWT + Spring Security(1) 개요 (0) | 2017.08.21 |
---|---|
Spring boot 시작하기(1) (0) | 2017.08.16 |
Spring Boot+JPA REST API 서버 만들기 (0) | 2017.05.03 |