티스토리 뷰

728x90
반응형

IntelliJ MAVEN + Spring MVC 기본 프로젝트 생성하기

MAVEN으로 프로젝트 생성하기

image

이름 설정하기

image

GroupID는 프로젝트에서 도메인과 같아야 된다. 예를 들어 GroupID를 com.ihp001로 할 경우 컨트롤러의 패키지 이름을 com.ihp001.Controller 같은 식으로 해야한다.

Artifactid는 프로젝트 이름(Name)과 같게 만든다.

Finish.

Spring MVC 프레임워크 올리기

image

Add Framework Support을 누른다.

image

Spring MVC 5.2.3.RELEASE 선택. OK.

image

applicationContext.xml, dispatcher-servlet.xml, web.xml 등의 주요 파일들이 생성된다.

Tomcat 설정하기

오른쪽 상단의 Add Configuration 선택.

image

Tomcat을 추가해야 하는데 Templetes에서 설정하지 말고 꼭 +를 선택해서 추가해야 한다!!!

image

Tomcat Server의 Local 선택.

image

fix를 누른다.

image

맨밑의 Application context를 /로 바꾼다. home url을 /로 바꾸기 위함.

pom.xml 파일 수정하기

    <properties>
        <java-version>1.8</java-version>
        <org.springframework-version>5.2.3.RELEASE</org.springframework-version>
        <org.aspectj-version>1.6.10</org.aspectj-version>
        <org.slf4j-version>1.6.6</org.slf4j-version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${org.springframework-version}</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>

        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${org.aspectj-version}</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${org.slf4j-version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>${org.slf4j-version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${org.slf4j-version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.mail</groupId>
                    <artifactId>mail</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.jms</groupId>
                    <artifactId>jms</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.jdmk</groupId>
                    <artifactId>jmxtools</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.jmx</groupId>
                    <artifactId>jmxri</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <compilerArgument>-Xlint:all</compilerArgument>
                    <showWarnings>true</showWarnings>
                    <showDeprecation>true</showDeprecation>
                </configuration>
            </plugin>
        </plugins>
    </build>

pom.xml properties와 dependency 부분.

주의해야 할점
properties의 5.2.3.RELEASE의 버전을 spring mvc 프로젝트를 올릴 때 설정한 버전과 맞춰야 된다. 밑의 ${org.springframework-version}가 다 위의 5.2.3을 참조해서 쓰는것이기 때문에 spring MVC 프로젝트는 5.x.x버전인데 을 4.x.x를 쓸 경우 에러가 난다.

lib 디렉터리에 maven으로 받아온 것 추가하기

image

Ctrl + Alt + Shift + s로 Project Structure를 실행시키고 Project Settings → Artifacts로 이동. 오른쪽에 있는 파일들을 더블 클릭하여 왼쪽의 lib로 모두 이동시킨다.

web.xml 수정하기

image

url-pattern부분을 / 으로 수정한다.

간단한 컨트롤러로 웹서버 테스트하기

image

src/main/java 디렉터리에 com.ihp001.controller 형식으로 패키지를 생성한다. 그리고 해당 패키지에 HomeController class 파일을 생성한다.

// homecontroller.java
package com.ihp001.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/home/*")
public class HomeController {

    @GetMapping("test")
    public @ResponseBody
    String homeTest() {
        return "Spring + Maven";
    }
}

dispatcher-servlet.xml 수정

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">

    <context:component-scan base-package="com.ihp001.controller" />

</beans>

context:component-scan 부분을 본인의 패키지에 맞게 추가한다.

Tomcat 실행하기

shift + f10으로 tomcat을 실행시킨다.

image

/home/test로 가면 우리가 return한 Spring + Maven을 볼 수 있다.

728x90
반응형
댓글
반응형
250x250
글 보관함
최근에 달린 댓글
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Total
Today
Yesterday
링크