스프링부트 게시판 만들기 제2강. 스프링부트 프로젝트 생성

어느덧 강의를 시작한지도 몇 시간 안됐다.

그런데 벌써 두번째 강의를!

 

스프링 부트 게시판 만들기

제2강 스프링부트 프로젝트 생성

 

스프링부트의 탄생으로 개발에 필요한 설정이 매우 간소화 됐다.

마우스 클릭과 간단한 정보 입력으로 바로 프로젝트를 시작할 수 있다.

앞으로는 얼마나 더 편해질 것인가...

자! 이클립스를 실행시키고 스프링부트 프로젝트를 생성해 보자!

 

스프링부트 프로젝트 생성

이클립스 Package Explorer에서 마우스 우클릭으로 Spring Starter Project를 클릭 한다.

 

프로젝트 정보 입력

 

 

프로젝트명은 board

패키지는 com.soledot.board다. 패키지는 Java파일에서 import com.soledot.board와 같은 경로가 된다.

Java Version은 8

웹애플리케이션이므로 War로 선택했다.

Gradle을 사용하는 사람이라면 Maven대신 Gradle을 써도 된다. 그러나 Gradle에 대한 내용은 여기에 없다.

 

작업에 필요한 의존성 추가

 

 

일단 Spring Boot DevTools와 MyBatis 그리고 Spring Web만 추가한다.

나머지는 별도로 메이븐 설정파일인 pom.xml에 직접 추가하겠다.

Spring Boot DevTools를 추가한 이유는 Java파일 수정 후 자동적용을 위해서다.

Finish를 클릭하여 프로젝트를 생성한다.

 

프로젝트 생성 확인

 

위와같은 구조를 가진 프로젝트를 볼 수 있다.

com.soledot.board에는 주로 JAVA 파일이

resources에는 주로 properties나 xml같은 설정 파일

main/webapps에는 주로 JSP파일이 들어가게 될 것이다.

 

pom.xml 수정

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

위의 내용을 주석처리 한다.

<!--         <dependency> -->
<!--             <groupId>org.springframework.boot</groupId> -->
<!--             <artifactId>spring-boot-starter-tomcat</artifactId> -->
<!--             <scope>provided</scope> -->
<!--         </dependency> -->

 

아래 내용을 추가한다.

 

        <!-- * tomcat -->
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jasper</artifactId>
            <version>9.0.16</version>
        </dependency>
        
        <!-- * jstl -->
           <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        
        <!-- * mariadb -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.mariadb.jdbc</groupId>
            <artifactId>mariadb-java-client</artifactId>
        </dependency>
        <!-- mariadb -->

 

Tomcat과 jstl 그리고 MariaDB를 사용하기 위한 jar 파일을 추가하기 위함이다.

 

application.properties 수정

spring.mvc.view.prefix=/WEB-INF/views/  #Controller에서 view처리 시 "/WEB-INF/views/"를 앞에  붙여준다.  Controller 파일을 설명하면서 추가적으로 설명하겠다.
spring.mvc.view.suffix=.jsp  #Controller에서 view처리 시 "/WEB-INF/views/"를 뒤에  붙여준다.  Controller 파일을 설명하면서 추가적으로 설명하겠다.

spring.datasource.url=jdbc:mariadb://192.168.0.1:3306/boarddatabase  #데이터베이스 URL
spring.datasource.username=board  #계정아이디
spring.datasource.password=board  #계정암호

mybatis.mapper-locations=classpath:com/soledot/**/*.xml  #마이바티스 xml파일을 해당 경로에서 읽는다는 설정.

 

BoardApplication.java 수정

package com.soledot.board;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

@ComponentScan("com.soledot.*")      //해당 package 경로의 Component 들을 Scan한다는 의미. 그러니까... 해당 패키지의 @Controller, @Repository, @Service 등을 애플리케이션 시작 시에 탐색한다. 탐색을 왜 하냐? ㅎㅎ 해당 class 파일에 @Autowired 가 있을 경우 의존성도 주입시켜줘야 하고...
@SpringBootApplication
public class BoardApplication {

    public static void main(String[] args) {
        SpringApplication.run(BoardApplication.class, args);
    }

}


 

와~

드디어 설정이 다 끝났다.

그리 많은 작업은 아니지만, 설정이라는게 있는 그대로 따라하는 것은 쉽지만

직접 찾아서 하려면 굉장히 어려운 순간을 많이 만나게 된다.

그리고 어디서 잘 못 됐는지 찾을 수 없을 때...

그 느낌이 어떤것이냐 하면!

산을 오르는데, 그 산의 끝을 알 수 없는 느낌!

30m만 더 오르면 되는 것인지

아직 1000m가 더 남은 것인지

계속 올라가야 할지

아님, 빨리 포기하고 내려가야 할지

개발하다보면 이런 순간들이 온다.

이럴 땐 어떻게 하는게 좋을까?

모든 문제를 해결하진 못했지만, 하는데까지는 해보는 편이다.

태산이 높다하되 하늘아래 뫼이로다!

대부분 이리저리 방법을 찾다보면 해결되는 경우가 더 많다.

산도 넘어 본 놈이 넘는 것이다.

한 번 넘어보면 다른 산도 넘을 수 있겠다는 자신감이 생긴다.

 

프로그래밍은 초기진입이 어렵다.

전공자가 아니었던 나는 5개월간 자바를 배웠고, 스무명정도 같이 수학했으나 프로그래머가 된 사람은 5명 정도나 될까?

힘들어도 끝까지 해보라는 말은 못하겠다. 그런다고 다 되는 것도 아니니까.

다만, 후회는 남기지 말라!

 

자! 이제 설정이 끝났으니

다음은 프로그래밍 시작!

공유하기:

스프링부트 카테고리 글 :

0 Comments

Comment