1 minute read

Updated:

IntelliJ에서 스프링 개발하기(환경 설정)

  1. Maven으로 프로젝트 생성
    • New Project -> Maven -> 아무것도 선택하지 않고 Next -> GroupId와 프로젝트 Name 설정
  2. 스프링 프로젝트 추가를 위해 pom.xml에 아래 코드 추가
        <properties>
         <maven.compiler.source>11</maven.compiler.source>
         <maven.compiler.target>11</maven.compiler.target>
         <org.springframework-version>5.2.1.RELEASE</org.springframework-version>
     </properties>
    
     <dependencies>
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-web</artifactId>
             <version>${org.springframework-version}</version>
         </dependency>
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-webmvc</artifactId>
             <version>${org.springframework-version}</version>
         </dependency>
         <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>servlet-api</artifactId>
             <version>2.5</version>
         </dependency>
     </dependencies>
    
    • pom.xml에 설정을 추가하면 자동으로 해당 라이브러를 다운받는다.
  3. 프로젝트 라이브러리에 포함한다. 해당 라이브러를 사용할 수 있도록.
    • File -> Project Structure -> 왼쪽 메뉴에서 Facets 클릭-> + 버튼을 클릭하여 Web 추가 -> OK
    • 왼쪽 메뉴에서 Artifacts 클릭 -> + 버튼 클릭하여 Web Application:Exploded -> Select Modules에서 프로젝트 선택 후 OK
    • 창의 오른쪽 Available Elements에는 pom.xml에 추가한 라이브러리들이 표시됨. (프로젝트 안에 포함시켜야 함.) -> 라이브러리 선택 후 -> 오른쪽 마우스 Put into /WEB-INF/lib 선택 -> OK
  4. web.xml 파일 설정
    • 아래 코드 추가
     <context-param>
         <param-name>contextConfigLocation</param-name>
         <param-value>/WEB-INF/spring/applicationContext.xml<param-value>
     </context-param>
    
     <listener>
         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     </listener>
    
     <servlet>
         <servlet-name>dispatcher</servlet-name>
         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
         <init-param>
             <param-name>contextConfigLocation</param-name>
             <param-value>/WEB-INF/spring/dispatcher-servlet.xml</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
     </servlet>
    
     <servlet-mapping>
         <servlet-name>dispatcher</servlet-name>
         <url-pattern>/</url-pattern>
     </servlet-mapping>
    
  5. 스프링 프레임워크 설정 파일 생성(dispatcher-servlet.xml)
    • web.xml에 설정한 것처럼 /WEB-INF 아래 spring 폴더를 만들고 applicationContext.xml를 생성한다.
    • New -> XML Configuration File -> Spring Config
    • 아래 코드 추가
     <?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"
     xmlns:mvc="http://www.springframework.org/schema/mvc"
     <!--//추가된 설정-->
     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 http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
     <!--//추가된 설정-->
    
     <!-- 추가된 설정-->
     <mvc:annotation-driven/>
     <context:component-scan base-package="com.bockyoung.spring.controller"/>
     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
         <property name="prefix" value="/WEB-INF/views/"/>
         <property name="suffix" value=".jsp"/>
         <property name="order" value="1"/>
     </bean>
     <!--//추가된 설정-->
    
     </beans>
    
  6. 스프링 설정 파일 생성(contextConfigLocation)
    • /WEB-INF/spring에 applicationContext.xml를 생성한다.
  7. 테스트를 위한 Controller와 view 페이지 생성
    • java 디렉토리 우클릭 -> Package 만들기 -> HomeController.java 파일 생성
    • 아래 코드 추가
     package com.bockyoung.spring.controller;
    
     <!-- 추가된 설정-->
     import org.springframework.stereotype.Controller;
     import org.springframework.ui.Model;
     import org.springframework.web.bind.annotation.RequestMapping;
    
     @Controller
     public class HomeController {
         @RequestMapping("/")
         public String index(Model model){
             model.addAttribute("data", "Hello spring!!");
             return "index";
         }
     }
     <!-- //추가된 설정-->
    
    • /WEB-INF 하위에 views 폴더 생성 -> index.jsp 생성한다.
    • 아래 코드 추가
     <%@ page contentType="text/html;charset=UTF-8" language="java" %>
        
     <html>
     <head>
         <title>Title</title>
     </head>
    
     <body>
         <h3>${data}</h3>
     </body>
     </html>
    
  8. Tomcat 서버 설정
    • 화면 우측 상단 Add Configuration 클릭 -> + 버튼 클릭 -> tomcat Server에 Local 선택
    • name에서 서버 이름을 지어주고, 서버 위치를 지정해준다.
    • 마지막으로 Fix 버튼 클릭하여, Deploymnet 탭으로 이동 -> Application context를 ‘/’로 설정한다. (브라우저 접근 시 주소를 간결하게 하기 위함.)
    • 서버를 구동하면 jsp에 그린 data가 정상적으로 뜬다.