Spring Boot

Similar documents
[ 스프링부트, 그래들, HelloWorld]STS,Gradle 설치및 WEB MVC 심플예제 간단히 STS 및 Gradle Support Plugin 을설치하여간단히 Spring Boot, Gradle Web 응용프로그램을작성해보자. 0. STS 및 Gradle Su

내장서버로사용. spring-boot-starter-data-jpa : Spring Data JPA 사용을위한설정 spring-boot-devtools : 개발자도구를제공, 이도구는응용프로그램개발모드에서유 용한데코드가변경된경우서버를자동으로다시시작하는일들을한다. spri

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Data JPA Many To Many 양방향 관계 예제

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Interstage5 SOAP서비스 설정 가이드

Network Programming

제11장 프로세스와 쓰레드

PowerPoint Presentation

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

PowerPoint Presentation

JAVA PROGRAMMING 실습 08.다형성

파워포인트

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

rmi_박준용_final.PDF

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

Chap12

Microsoft PowerPoint - Java7.pptx

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

PowerPoint 프레젠테이션

02 C h a p t e r Java

비긴쿡-자바 00앞부속

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

PowerPoint 프레젠테이션

Microsoft PowerPoint - 03-TCP Programming.ppt

Design Issues

PowerPoint 프레젠테이션

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

gnu-lee-oop-kor-lec06-3-chap7

Microsoft PowerPoint - 04-UDP Programming.ppt

Web Application을 구성하는 패턴과 Spring ROO의 사례

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

JAVA PROGRAMMING 실습 09. 예외처리

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

PowerPoint Presentation

문서의 제목 나눔고딕B, 54pt

PowerPoint Presentation

JavaGeneralProgramming.PDF

MasoJava4_Dongbin.PDF

PowerPoint 프레젠테이션

Social Media and Social Computing

PowerPoint 프레젠테이션

신림프로그래머_클린코드.key

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

PowerPoint Presentation

PowerPoint Presentation

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

Cluster management software

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

gnu-lee-oop-kor-lec10-1-chap10

mytalk

자바-11장N'1-502

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밊

Intro to Servlet, EJB, JSP, WS

Microsoft PowerPoint - 2강

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다.

JUNIT 실습및발표

슬라이드 1

교육2 ? 그림


5장.key

슬라이드 1

자바 프로그래밍

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

4 주차 - SPRING 환경설정및구현 Spring 기반의웹프로젝트를구성하고싶어요 T^T Spring 기반의웹환경구축 1. web.xml 수정으로 Spring 을설정하는방법 2. eclipse Spring Plug-In 을활용한템플릿프로젝트자동구성필수는아니지만해놓으면편

Intellij spring(mvc) + maven 환경구축 New Project에서좌측 template 유형에서 Maven을선택합니다. 오른쪽상단에 Project SDK는 java SDK가설치된폴더를선택하면됩니다. 오른쪽에 Create from archetyhpe을체

12-file.key

슬라이드 1

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f…

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

Microsoft PowerPoint - 14주차 강의자료

FileMaker ODBC and JDBC Guide

PowerPoint Presentation

Microsoft Word - java19-1-midterm-answer.doc

본 강의에 들어가기 전

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

예외 예외정의예외발생예외처리예외전파 단정 단정의선언 단정조건검사옵션 2

Software Requirements Specification Template

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

<4D F736F F F696E74202D20C1A632C8B8C7D1B1B9BDBAC7C1B8B5BBE7BFEBC0DAB8F0C0D32D496E E D56432E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

01-OOPConcepts(2).PDF

쉽게 풀어쓴 C 프로그래밍

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

슬라이드 1

슬라이드 1

Java

PowerPoint Presentation

Microsoft PowerPoint - chap01-C언어개요.pptx

Transcription:

스프링부트 (Spring Boot) 1. 스프링부트 (Spring Boot)... 2 1-1. Spring Boot 소개... 2 1-2. Spring Boot & Maven... 2 1-3. Spring Boot & Gradle... 3 1-4. Writing the code(spring Boot main)... 4 1-5. Writing the code(commandlinerunner)... 5 1-6. Spring Boot 에서 property 파일읽기... 6 오라클자바커뮤니티 (ojcedu.com, ojc.asia) 오라클자바커뮤니티 (ojcedu.com, ojc.asia) 1

1. 스프링부트 (Spring Boot) 1-1. Spring Boot 소개 스프링응용프로그램을독립적으로작성, 빌드, 실행할수있으며 Embedded Tomcat, Jetty 사용이가능하므로 WAR 파일로묶어서배포할필요가없다. Tomcat이나 Jetty가내장되어웹프로젝트띄우는시간이독립적인 Tomcat을이용하는경우에비해훨씬줄어든다. 이렇게서블릿컨테이너가내장되어있으므로프로젝트를.jar 파일형태로간단히만들어배포할수있다. 스프링부트를사용하면메이븐의 pom.xml에서의존하는라이브러리의버전을일일이지정하지않아도된다. 즉스프링부트가적절한버전을알아서관리한다. 스프링에서는 XML 파일또는 JavaConfig 등을이용하여설정을하는데스프링부트에서는자동으로해준다. 모든설정을다자동화하지는않지만스프링프레임워크를시작할수있을정도는가능하다.(Application.java) Spring Tool Suit(STS) 를사용하지않고도간단히스프링프로젝트를만들수있다. 파이썬 (python) 의 flask, 장고 (django) 나 ruby on rails 처럼빠르게웹프로젝트를만들수있는도구이다. 1-2. Spring Boot & Maven 메이븐설정을위해 starter POMS를제공한다. (Spring Boot에서미리정의된 MAVEN Dependency) 메이븐에서사용하려면 <parent> 태그로 spring-boot-starter-parent를상속받아야하며기본자바컴파일러가버전은아래처럼설정할수있다. <properties> <java.version>1.8</java.version> </properties> spring-boot-gradle-plugin은실행가능한 jar파일을만들고프로젝트를실행할수있게하는 task를제공한다. spring-boot-starter-web을추가하면 Tomcat 및 Spring MVC 가자동추가된다. <!-- Inherit defaults from Spring Boot --> <parent> 오라클자바커뮤니티 (ojcedu.com, ojc.asia) 2

<groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-parent</artifactid> <version>1.3.1.release</version> </parent> <!-- Add typical dependencies for a web application --> <dependencies> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> </dependency> </dependencies> <!-- Package as an executable jar --> <build> <plugins> <plugin> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-maven-plugin</artifactid> </plugin> </plugins> </build> 1-3. Spring Boot & Gradle 메이븐 Gradle 에서사용하려면 stater POMs 를직접 import 하면된다.. buildscript { repositories { jcenter() dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.1.release") apply plugin: 'java' 오라클자바커뮤니티 (ojcedu.com, ojc.asia) 3

apply plugin: 'spring-boot' repositories { jcenter() dependencies { compile("org.springframework.boot:spring-boot-starter-web") testcompile("org.springframework.boot:spring-boot-starter-test") 1-4. Writing the code(spring Boot main) 아래와같이 main 함수를만들면된다. // 스프링부트 1.2 이상에서 @SringBootApplication 어노테이션은아래모든어노테이션을포함한다. //Spring Boot에게클래스패스세팅, 다른빈, 다양한설정들에의해 Bean을추가하도록지시하는데, 묵시적으로패키지탐색의베이스를지정하여, JPA 어플리케이션을작성했다면현재패키지가 @Entity 아이템을찾기위한디폴트패키지가된다. 일반적으로기존 Spring MVC에서는 @EnableWebMvc 태그를사용했지만 Spring Boot는클래스패스에서 spring-webmvc를발견할경우자동으로추가한다. @EnableAutoConfiguration @ComponentScan // 현재패키지의빈, 설정, 서비스자동스캔 @Configuration // 현재파일이컨텍스트의설정파일임을의미 public class DemoApplication{ // Spring Boot의 SpringApplication.run() 메소드를실행, 시작점 // 웹응용프로그램이면자동설정된 Tomcat 웹서버를 // 기동하면서응용프로그램을시작한다. public static void main(string[] args) throws Exception { SpringApplication.run(DemoApplication.class, args); [ 실행방법 ] 1. (DOS 에서 ) 프로젝트루트에서 spring-boot-starter-parent 의 run 을이용하여 Maven 으로실행한다. D:\..>mvn spring-boot:run 2. 이클립스 (STS) 프로젝트루트 -> Run as -> Maven Build 또는 Java Application(main 이있는 Application 클래스지정 ) 오라클자바커뮤니티 (ojcedu.com, ojc.asia) 4

2. 이클립스 (STS) main 이있는 Application 클래스에서 Run As -> Spring Boot Application 또는 Java Application 으로실행가능하다. 1-5. Writing the code(commandlinerunner) 스프링부트를시작할때 Command Line arguments를주거나, 어떤코드를실행하려면 CommandLineRunner 인터페이스의 run(string args) 를구현하면된다. 만약 CommandLineRunner 인터페이스구현이여러개있는경우순서를부여하기위해서는 @Order 어노테이션을사용하면된다. @SpringBootApplication public class CommandLineRunnerExam { //Spring Boot 메인 public static void main(string... args) { SpringApplication.run(CommandLineRunner.class, args); class DefaultRunner implements CommandLineRunner { //CommandLineRunner의 run 메소드구현 //args는메인메소드의아규먼트를받아들인다. public void run(string... args) throws Exception { // joining(delimiter, prefix, suffix) System.out.println(Arrays.asList(args).stream().collect(Collectors.joining(",", getclass().getsimplename() + "[", "]"))); @Named @Order(2) class Runner1 extends DefaultRunner { @Named @Order(1) class Runner2 extends DefaultRunner { 오라클자바커뮤니티 (ojcedu.com, ojc.asia) 5

@Named @Order(3) class Runner3 extends DefaultRunner { [ 실행 ] $ java -jar build/libs/commandlinerunner-exam-1.0.0.jar 이순신안중근유관순 Runner2[ 이순신안중근유관순 ] Runner1[ 이순신안중근유관순 ] Runner3[ 이순신안중근유관순 ] LAB. Spring Boot HelloWorld 1. Spring Boot, Maven 을이용한 HelloWorld http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=479 2. Spring Boot, Gradle 을이용한 Spring WEB MVC HelloWorld http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=514 1-6. Spring Boot 에서 property 파일읽기 [src/main/resources/ojc.properties] url=ojc.asia [Application.java] @SpringBootApplication @PropertySource("ojc.properties") public class Application { public static main(string[] args) { SpringApplication.run(Application.class, args); [OjcController.java] 오라클자바커뮤니티 (ojcedu.com, ojc.asia) 6

@Controller public class OjcController { @Value("${url") //ojc.properties 파일의 url을값을주입 String url; @RequestMapping("/ojc") public void home() { System.out.println(url); //ojc.asia 출력 오라클자바커뮤니티 (ojcedu.com, ojc.asia) 7