Spring boot

19
Spring Boot 2015.10.28 작작작 : Hong Hyo Sang

Transcript of Spring boot

Page 1: Spring boot

Spring Boot

2015.10.28작성자 : Hong Hyo Sang

Page 2: Spring boot

Content

1 Spring Boot ?

2 Spring Boot Maven 파일 이해

3 Spring Boot 를 이용한 초 간단 web Application

Page 3: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 3

• Spring Framework 의 다양한 Project 를 다양한 조합으로 미리 만들어 놓은 것으로 적은 양의 Application 코드를 작성 해서 실행 할 수 있는 Framework 이다 .

1. Spring Boot 란

1. Spring Boot ?

• 자주 사용하는 Framework 조합을 미리 준비해 놓았다• 설정을 자동으로 수행 한다 .• 서버를 포함 하고 있다 .• 많은 자료와 예제가 포함 되어 있다 .• Web Application, CLI(Command Line Interface) 에서 동작하는 Console Program, Batch Program 등을 만들 때도

사용 한다 .

2. Spring Boot 특징

• java - http://www.oracle.com/technetwork/indexes/downloads/index.html - version 1.8.0_65 Java SE

- 환경 설정 : JAVA_HOME , PATH• STS ( Spring Tool Suite )

- http://spring.io/tools/sts - version :

• lombok - https://projectlombok.org - version : 1.16.6 ::

• curl ( 명령 프롬프트에서 http client program ) - http://curl.haxx.se/download.html - version :: Win64 ia64 zip :: http://curl.haxx.se/latest.cgi?curl=win64-ssl-sspi - 환경 설정 : PATH 에 추가

• maven - maven.apache.org/download.cgi - 환경 설정 : MAVEN_HOME , PATH 에 추가

3. 필요한 Tools

Page 4: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 4

2. Spring Boot Maven File이해

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>

<groupId>com.iabacus.study</groupId> <artifactId>StudyApplicationWeb00001</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging>

<name>StudyApplicationWeb0001</name> <description>Demo project for Spring Boot</description>

<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties>

프로젝트 설명 하는 부분으로

프로젝트의 속성 - 문자셋- 자바 Version

2-1. pom.xml 의 이해 – 기본 프로젝트 구성

Page 5: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 5

2. Spring Boot Maven File이해

<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.7.RELEASE</version> </parent>

<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>

Spring Boot 의 설정 정보를 상속 한다 . Spring Boot 의 Version Version 을 변경 시는 이곳에서 변경 한다 .

Spring Boot 로 프로젝트를 생성 할 떄 참조 할 기본 라이브러리 정보 설정

다른 서드파티 라이브러리 설정 Spring Boot 의 라이브러리를 사용 하는 경우 Version

은 Parent 에 기재 하였으므로 생략 가능 하다 . spring-boot-starter-test 는 단위 테스트를 위한 것임

2-2. pom.xml 의 이해 – 의존 관계

Page 6: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 6

2. Spring Boot Maven File이해

<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId>

<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.3.RELEASE</version> </dependency> </dependencies> </plugin> </plugins> </build></project>

Spring Boot 로 제작한 Application 에 대한 간단한 빌드 및 실행하기 위해 Maven Plugin 설정

실행 후 자바변경 후 재 시작없이 적용 가능 하도록 SpringLoaded 의존 관계 설정

mvn dependen ㅊ y:tree 를 이용 해서 의존 관계를 볼 수 있다 .

2-3. pom.xml 의 이해 – Build

Page 7: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 7

3. Spring Boot 를 이용한 Web Appli-cation

- Checked : Create a simple project- Checked : Use default Workspace location

3-1. STS 실행

3-2. File > New > Maven Project

- Next 버튼 클릭

Page 8: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 8

3. Spring Boot 를 이용한 Web Appli-cation 3-3. Maven Project 설정 정보 작성

Page 9: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 9

3. Spring Boot 를 이용한 Web Appli-cation 3-4. 생성된 폴더와 pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" x mlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.7.RELEASE</version> </parent> <groupId>com.iabacus.study</groupId> <artifactId>StudyApplicationWeb00001</artifactId> <version>0.0.1-SNAPSHOT</version> <name>StudyApplicationWeb0001</name> <description> 처음으로 실행 하는 Spring Boot </description></project>

- Package Explorer - pom.xml

3-5. pom.xml 에 Project 의 속성을 작성 한다 .

<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version></properties>

Page 10: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 10

3. Spring Boot 를 이용한 Web Appli-cation 3-6. pom.xml 에 Web 작성을 위한 Spring Boot 의존 Project 를 추가 한다 .

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>

3-7. pom.xml 에 build 를 해서 추가 한다 .

<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId>

<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.3.RELEASE</version> </dependency> </dependencies> </plugin> </plugins> </build>

Page 11: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 11

3. Spring Boot 를 이용한 Web Appli-cation 3-8. pom.xml 를 저장 하면 자동 적으로 의존 파일을 다운 로드 받는다 .

- 저장 전 Package Explorer - 저장 후 Package Explorer

Maven Dependencies 폴더를 클릭 하면 Project 에서 참조 할 파일들이 다운 로드 되어 보인다 . - Spring boot, Spring core 등 기본적으로 Spring 를 이용 해서 개발 할 때 필요한 파일 존재 한다 , - 특히 내장형 tomcat 에 대한 파일이 존재 한다 . 이것은 별도의 was 없이도 개발한 웹 프로젝트를 구동 할 수 있다는 것이다 .

Page 12: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 12

3. Spring Boot 를 이용한 Web Appli-cation 3-9. Web Project 개발

Package 생성 src/main/java 에서 오른쪽 마우스를 클릭 후 new > pacakge 선택 - name : com.iabacus.study.web0001 입력 후 Finish 클릭

Page 13: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 13

3. Spring Boot 를 이용한 Web Appli-cation 3-9. Web Project 개발

Class 파일 생성 com.iabacus.study.web0001 에서 오른쪽 마우스를 클릭 후 new > class 선택 - Name : FirstApplication - checked : public static void main(String[] args)

- 생성 한 이후 Package Explorer

public static void main 을 선택 한 이유는 Spring boot Application 을 실행 하기 위해서는 main Mrthod 가 필요 하기때문 이다 ,

Page 14: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 14

3. Spring Boot 를 이용한 Web Appli-cation 3-9. Web Project 개발

프로그램을 생성 한다 . - Name : FirstApplication - checked : public static void main(String[] args)

- 생성 한 이후 Package Explorer

public static void main 을 선택 한 이유는 Spring boot Application 을 실행 하기 위해서는 main Mrthod 가 필요 하기때문 이다 ,

Page 15: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 15

3. Spring Boot 를 이용한 Web Appli-cation 3-9. Web Project 개발

프로그램을 작성 한다 .

프로그램을 실행 하는 방법에는 run as > Spring Boot App, cmd 창에서 mvn spring-boot:run 있는데 여기서는 Spring Boot App 를 이용한 방법을 설명 한다 . - maven 으로 실행 하는 방법은 cmd 창에서 mvn spring-boot:run 를 실행 하면 된다 ,.

@RestController :: 웹 Application 에서 요청을 받아 들이는 class 선언@EnableAutoConfiguration :: Spring의 다양한 설정을 파일 없이 자동으로 수행 된다 .@RequestMapping(“/”) :: 요청을 받아들이는 메소드

Spring Boot Application 의 실행하는 기능을 담담 하며 , @EnableAutoConfiguration 이 붙은 class 를 SpringApplication.run() 의 첫번째 인자로 지정 한다 .

Page 16: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 16

3. Spring Boot 를 이용한 Web Appli-cation 3-9. Web Project 빌드

maven build 설정 - Run As > Maven build… 실행 - Goals : spring-boot:run 작성

Run 실행

Page 17: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 17

3. Spring Boot 를 이용한 Web Appli-cation 3-9. Web Project 실행• Spring Boot App Tab

- Run As > Run Configuration… 실행 - Project : 프로젝트 선택 - Main type : Search 버튼을 클릭 해서 class 선택

• Argements Tab - VM argements : -javaagent:C:\Server/springloaded-1.2.4.RELEASE.jar –noverify• run 버튼으로 실행 하면 Console 창에 로딩 정보가 표시 됩니다 .

Page 18: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 18

3. Spring Boot 를 이용한 Web Appli-cation 3-10. Web 실행

브라우저에서 실행 한다 .

소스를 수정 하고 브라우저에서 실행 한다 .

빌드 과정없이 수정이 된 것을 확인 할 수 있습니다 , 이것은 spring load 기능으로 자바가 수정이 되어도 바로 적용 되는 것 입니다 .

Page 19: Spring boot

Copyright©2015 ABACUS, Co. All rights reserved. 19

3. Spring Boot 를 이용한 Web Appli-cation 3-11. jar 작성

Package Explorer 에 있는 프로젝트에서 오른쪽 마우스를 클릭 해서 Show in > terminal 을 선택 한다 , mvn package 입력 후 enter

실행 후 target 폴더에 jar 생성 jar 실행 후 브라우저를 통해서 실행 해 보자 - C:\HYO_DEV\StudyApplicationWeb00001>java -jar target\StudyApplicationWeb00001-0.0.1-SNAPSHOT.jar