본문 바로가기
Framework/Spring

[Spring Boot 시작하기] maven 프로젝트 생성 / 스트링부트 톰캣포트 변경

by 나비와꽃기린 2016. 9. 21.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.



1. Spring Boot ?

 // ps ) spring framework 우리나라에서 국가 표준이므로 대부분의 자바 프로젝트에서 채택하는 명실상부한 1 프레임웍이다.

 (1) 스프링 프레임웍을 사용하는 프로젝트를 아주 간편하게 setup 있는 스프링 프레임웍의 서브프로젝트다.

(2) 컨테이너를 내장하고 있어 최소한의 설정으로 쉽게 어플리케이션을 만들 있다.

(3) 스프링을 설정 거의 없이 스탠다드 얼론하게 프로그램을 만들어 주는 역할을 한다.

 

2. Spring Boot 사용하는 걸까?

기존의 스프링 프레임워크(Spring framework) 이용한 개발환경 구축은 제법 많은 XML 설정파일등의 작성량을 요구했다. 그래서 만들어놓은 설정파일을 복사해서 사용하거나 검색을 통해 얻은 정보를 그대로 복사해서 사용하는 경우가 다반사였는데, 실상 특별한 경우의 설정을 제외하고는 거의 항상 동일한 옵션을 가져가게 되는 것이 사실일 것이다.

그러한 부분에서 스프링 부트는 반복되는 개발환경 구축을 위한 코드작성등의 작업을 확연히 줄여주고 빠르고 쉽게 프로젝트를 작성할 있도록 도와준다고 있다.

> 발췌 : http://hyunc.tistory.com/9

 

// Spring Boot 사용하는가? 대한 좋은 포스팅 :

http://start.goodtime.co.kr/2014/10/%EC%9D%B4%EC%A0%9C%EB%8A%94-spring-boot%EB%A5%BC-%EC%8D%A8%EC%95%BC%ED%95%A0-%EB%95%8C%EB%8B%A4/ 



2. Spring Boot Project 생성하기

2.1 IDE에서 Spring Boot 프로젝트 시작하기

(1) maven project 생성한다. (maven 설치되어 있지 않다면 메이븐을 먼저 설치해야 한다)



(2) 프로젝트 생성

Group Id > 기본 package
Artifact Id >
프로젝트명


(3) pom.xml 수정

`spring-boot-starter-parent` 아티팩트를 추가해준다.

스프링 부트의 준비된 의존성 라이브러리들이 자동으로 추가된다.

스프링 부트 기반의 프로젝트를 사용하기 위한 것이다.

<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.springBoot</groupId>
  <artifactId>springBoot</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
 
  <name>springBoot</name>
  <url>http://maven.apache.org</url>
 
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
            
             <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.2.2.RELEASE</version>
    </parent>
   
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
   
    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
  </dependencies>
 
  <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>


(4) App.java 수정

package com.springBoot.springBoot;
 
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
 
@SpringBootApplication
public class App {
 
   public static void main(String[] args) {
       SpringApplication.run(App.class, args);
   }
}


(5) SampleController.java 작성

Maven 기본적으로 src/main/java 있는 소스를 컴파일하므로 src/main/java 하위에 해당 클래스를 작성한다.

@EnableAutoConfiguration 기본적으로 jar 추가되면 해당설정이 자동적으로 된다. 예를 들면, spring-boot-starter-web 추가하면 Tomcat Spring MVC 자동적으로 추가되기 때문에, Spring boot 우리가 spring web application 개발하고, Tomcat 사용할 것이라는 것을 알기 때문에 자동적으로 관련된 설정을 구성해준다.

 

Spring Boot SpringApplication.class run 메소드를 사용하여, 위의 SpringApplication bootstrap 된다.(Tomcat web server 자동설정이 되어서)


package com.springBoot.springBoot;
 
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;
 
@Controller
@EnableAutoConfiguration
public class SampleController {
 
   @RequestMapping("/")
   @ResponseBody
   String home() {
       return "Hello World!";
   }
}


(6) 프로젝트 실행

1. Java Runtime Application으로 실행하는 방법

2. Maven build 실행하는 방법

 

IDE에서 TEST 하고 있다면 프로젝트 우클릭 > Run AS > Java Application




Maven으로 실행하고자 한다면, 위와 같이 프로젝트 우클릭 > Run As > Maven build 클릭한다. 이때 goal 정보를 입력해주면 된다.

Goals: spring-boot:run


(7)

필자의 경우 maven build 하였고, finish 누르는 순간 download 함께

내장된 톰캣에서 프로젝트를 build 하였다.




*************내장된 tomcat에서 Error 뿜었다

java.net.BindException: Address already in use

 

Caused by: java.lang.IllegalStateException: Tomcat connector in failed state

 

포트가 이미 사용중이라기에 tomcat 포트를 임의로 변경하였다.

springboot web 기본 포트는 8080이기에 어디선가 충돌이 나는 같다.

포트를 변경하고자 application.properties 수정한다.

 

application.properties src/main/resources 경로에 있다. 다음과 같이 입력한다.



(8) maven build 재실행




(9) http://localhost:8085/ 접속하여 결과 확인



내장된 톰캣으로……돌리기를 성공한 같다…=_=!

 

 

>> 이거는 #STS SpringBoot 프로젝트 시작하기 (해봐야지…)

http://millky.com/@origoni/post/1100?language=ko_kr