IntelliJ에서 스프링 개발하기(환경 설정)
Updated:
IntelliJ에서 스프링 개발하기(환경 설정)
- Maven으로 프로젝트 생성
- New Project -> Maven -> 아무것도 선택하지 않고 Next -> GroupId와 프로젝트 Name 설정
- 스프링 프로젝트 추가를 위해 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에 설정을 추가하면 자동으로 해당 라이브러를 다운받는다.
- 프로젝트 라이브러리에 포함한다. 해당 라이브러를 사용할 수 있도록.
- File -> Project Structure -> 왼쪽 메뉴에서 Facets 클릭-> + 버튼을 클릭하여 Web 추가 -> OK
- 왼쪽 메뉴에서 Artifacts 클릭 -> + 버튼 클릭하여 Web Application:Exploded -> Select Modules에서 프로젝트 선택 후 OK
- 창의 오른쪽 Available Elements에는 pom.xml에 추가한 라이브러리들이 표시됨. (프로젝트 안에 포함시켜야 함.) -> 라이브러리 선택 후 -> 오른쪽 마우스 Put into /WEB-INF/lib 선택 -> OK
- 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>
- 스프링 프레임워크 설정 파일 생성(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>
- 스프링 설정 파일 생성(contextConfigLocation)
- /WEB-INF/spring에 applicationContext.xml를 생성한다.
- 테스트를 위한 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>
- Tomcat 서버 설정
- 화면 우측 상단 Add Configuration 클릭 -> + 버튼 클릭 -> tomcat Server에 Local 선택
- name에서 서버 이름을 지어주고, 서버 위치를 지정해준다.
- 마지막으로 Fix 버튼 클릭하여, Deploymnet 탭으로 이동 -> Application context를 ‘/’로 설정한다. (브라우저 접근 시 주소를 간결하게 하기 위함.)
- 서버를 구동하면 jsp에 그린 data가 정상적으로 뜬다.