본문 바로가기
스프링

[spring] IntelliJ 스프링(maven) #1 개발환경 만들기

by 멋진 개구리 2023. 10. 11.
반응형

 

<?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:mvc="http://www.springframework.org/schema/mvc"        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 http://www.springframework.org/schema/context/spring-context.xsd        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd        ">        <!--추가된 부분--><mvc:annotation-driven/><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><context:component-scan base-package="com.test.sample"/></beans>

IntelliJ에서 maven 스프링 프레임워크 개발 환경 셋팅

IDEA는 2023.2.1 버전으로 진행하였습니다. 

1. Project 생성하기 

위 사진과 같이
(1) 제너레이터에서 Maven 원형을 선택하고
(2) 프로젝트명을 MySpring 이라고 입력 후
(3) Archetype  아래 화살표를 눌러서  org.apache.maven.archetypes:maven-archetype-quickstart으로 설정 해줍니다. 버전은 1.1으로 선택
(4) 고급설정을 눌러 
그룹 ID: com.test.sample
아티팩트 ID: MySpring으로 설정하고 마지막으로 생성버튼을 눌러 생성해줍니다.

생성을 하면 위와 같이 프로젝트가 생깁니다. 
위 그림 (1) pom.xml에 들어가서

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <org.springframework-version>5.1.9.RELEASE</org.springframework-version>
</properties>

<dependencies>

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

  <!--추가-->
  <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 파일에서 우클릭 하고 Maven > 프로젝트 다시 로드를 하면 pom.xml 에 작성한 라이브러리들이 주입이 된다. 
주입이 되면 아래처럼 외부 라이브러리가 추가가 된다.

2. 프로젝트 구조 설정
프로젝트 구조를 설정해주기 위해서 Ctrl + Alt + Shift + S키를 동시에 눌러준다

위 처럼 창이 뜨면서 패싯 facets 에 들어가 (2) Spring  , (3)Web 을 눌러 추가 해준다. 

추가를 하면 위와 같이 나오게 된다. 적용하고 확인버튼 클릭!

프로젝트 구조에 web > WEB-INF가 생긴다.
(1)web.xml파일을 선택하여 아래 소스를 입력한다. 
스프링 프로젝트는 web.xml 파일을 참조하여 프로젝트를 시작한다.
Web Application의 설정 파일이라 실행시킬때 올라가야할 설정들을 정의해 놓은 것이다.

크게는 DispatcherServlet, ContextLoaderListener, Filter 설정을 한다.
DispatcherServlet: 기본적으로 클라이언트의 요청을 전달받는 객체이다.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <!-- 추가된 내용 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring/*Context.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>
    <!-- //추가된 내용 -->

</web-app>

 

<param-value>/WEB-INF/spring/dispatcher-servlet.xml</param-value>

web.xml을 보면 위 처럼 소스하나가 있는데 dispatcher가 해당 경로인  /WEB-INF/spring/dispatcher-servlet.xml 을 참조한다는 것이다. 

WEB-INF 폴더안에 spring 이라는 폴더를 만들고 XML 구성파일을 선택하여 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:mvc="http://www.springframework.org/schema/mvc"
        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 http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
        ">

<mvc:annotation-driven/>

<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>

<context:component-scan base-package="com.test.sample"/>

</beans>

Controller 단에서 view화면을 보여주기 위한 경로 설정이다. 

java 파일에서 com.test.sample.home.controller  패키지를 추가하여 
HomeController.java 파일을 만들어준다

package com.test.sample.home.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomeController {

    @GetMapping("/")
    public String home(Model model){
        return "home/index";
    }
}

 

WEB-INF/views/home/index.jsp를 만들어주고

<%--
  Created by IntelliJ IDEA.
  User: Lenovo
  Date: 2023-10-11
  Time: 오후 1:45
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
Hello World!
</body>
</html>

 

3. resources 설정

위 web.xml 파일을 보면 아래와 같이 spring/*Context.xml이 보인다. classpath:spring/ 폴더에  *Context.xml을 다 참조하라는 뜻이다. 
<param-value>classpath:spring/*Context.xml</param-value>

프로젝트 구성시 resources폴더가 없어 새로 만들어줘야 한다. 만들고 spring 폴더를 만들어 rootContext.xml을 만들어준다.

그냥 만들어 놓기만 하고 소스는 입력할 필요가 없다. 

 

4. 톰캣 설정

상단에 현재파일 > 구성편집을 누르고

톰캣서버 > 로컬을 선택하고나서

 구성에서 톰캣이 설치된 경로를 설정해주고 나서
맨 아래 하단부 실행전 아티팩트 수정을 누르고

애플리케이션 컨텍스트를 /로 변경해주면 끝난다. 

 

그리고 나서 톰캣을 실행하여

 

 

해당 화면이 나오면 기본 설정 끝!

 

다음은 DB를 연결해보자~!

반응형

댓글