Spring & 롬복 설치

tabi·2023년 6월 19일
0

Spring

목록 보기
1/15
post-thumbnail

Spring Tool Suite, Lombok을 설치하고 xml 파일, 서버 및 BuildPath를 설정하는 방법에 대해 알아보자.

1. Spring & 롬복 설치

1. 설치 링크

  1. C드라이브에 STS 압축 풀어준다.

  2. sts-bundle 들어가서 sts 3.9.18 RELEASE -> STS.exe 클릭

  3. 워크스페이스 잡아준다.

2. 서버 설정(톰캣)

  1. 기존에 기본으로 있는 서버 삭제 후 톰캣 잡아주기
  • 톰캣 8.5 잡아준다.
  1. Server.xml 80포트 설정

2. 프로젝트 생성

  1. New -> Spring Legacy Project 로 프로젝트 생성
  • MVC 프로젝트 선택
  • 패키지는 보통 도메인명을 준다.
  1. 프로젝트 우클릭 -> properties 에서 java 버젼 설정

  2. 웹 브라우저 설정

  3. Windows -> preferences -> encoding 검색해서 나오는 것 전부 UTF-8로 변경하고 글꼴(font)도 변경

  4. 프로젝트 우클릭 -> Run As(Run on Server)

  • 실행 순서 list.do -> DispatcherServlet(Controller) -> properties -> ListHandler -> ListHandler(process) -> S -> DAO <-> DB (request.setAttribute("list",list); return list.jsp

3. xml 파일 설정하기

  1. servlet-context.xml 파일
  • 톰캣 start 시 Controller가 생성될 때 읽혀짐
  1. HomeController가 Handler와 동일한 역할을 한다.
package org.doit.ik;

import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * Handles requests for the application home page.
 */
@Controller
public class HomeController {
	
	private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
	
	/**
	 * Simply selects the home view to render by returning its name.
	 */
	@RequestMapping(value = "/", method = RequestMethod.GET)
	public String home(Locale locale, Model model) {
		logger.info("Welcome home! The client locale is {}.", locale);
		
		Date date = new Date();
		DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
		
		String formattedDate = dateFormat.format(date);
		
		model.addAttribute("serverTime", formattedDate ); //getAttribute와 동일한 의미
		
		return "home"; // /WEB-INF/views/home.jsp
	}
	
}
  1. pom.xml 수정
  • 필요한 버젼으로 수정
<java-version>1.1</java-version>
<org.springframework-version>5.0.7.RELEASE</org.springframework-version>
  1. 기존 이클립스에서의 lib 폴더가 스프링에서는 Maven Dependencies와 동일한 역할을 한다.

  2. web.xml 수정(WEB-INF 폴더 아래에 있는 것)

  3. src/main/resources 아래에 log4j.xml, log4jdbc.log4j2.properties 추가

  4. root-context.xml 수정

4. 톰캣 & Path 설정

1. 톰캣 모듈 경로 변경

  1. 톰캣 모듈 경로 / 으로 변경

2. BuildPath 설정

  1. 프로젝트 우클릭 -> BuildPath -> Configure Build Path

  2. JAVA Build Path에 ojdbc6.jar 추가

  3. Deployment Assembly에 ojdbc6.jar 선택해 추가

  4. Update Maven project

  5. 폴더 이름 SL00_DefaultSettings 으로 변경

  • SL00_DefaultSettings은 pom.xml 내의 Name과 동일

5. Test

  1. 인터페이스 추가
  • org.doit.ik.mapper 패키지 안에 SampleMapper 인터페이스 추가
  1. src/main/resources 아래에 폴더 생성
  • org -> doit -> ik -> mapper 계속 안에 생성
  1. org.doit.ik.mapper 안에 SampleMapper.xml 파일 생성
  • 이게 바로 DAO를 만든 것이 된다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "https://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="org.doit.ik.mapper.SampleMapper">

     <select id="getTime" resultType="string">
       SELECT sysdate
       FROM dual
     </select>

</mapper>
  1. 만든 프로젝트 복제 후 Name 변경, pom.xml 내부도 프로젝트 명이랑 동일하게 변경해줌 -> server path / 로 고쳐줌

  2. src/main/java 아래의 org.doit.ik 패키지 안에 org.doit.ik.domain 패키지에 deptDTO 이름의 클래스 파일 생성

6. 롬복(Lombok) 설치

  1. 롬복(Lombok) 설치 위해 모든 프로젝트를 닫아준다.
  • 롬복이란? 편집기 및 빌드 도구에 자동으로 연결되어 java의 성능을 향상시키는 라이브러리

  • 이런식으로 편리하게 생성자를 만들 수도 있다.

  • Spring Tool Suit (https://projectlombok.org/setup/eclipse)

  1. 롬복 파일 더블클릭해 설치

  2. Help -> about Spring Tool Suite에서 설치됐는지 확인

  • 제대로 설치가 되지 않았다면 STS.exe가 있는 파일에 롬복 추가
  • STS.ini 메모장에서 열어 아래 코드 맨 아래에 추가(내가 설치한 경로)
-javaagent:C:\sts-bundle\sts-3.9.18.RELEASE\lombok.jar
  • 설치 확인
  1. 버전 설정 맞추기
  • Spring 실행 후 pom.xml에서 롬복 버전 설정을 맞춰주어야 한다.(안 맞춰주면 충돌나서 문제 생길 수 있음)
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.28</version>
			<scope>provided</scope>
		</dependency>
  1. 템플릿 변경(필요 시)
<%@ page contentType="text/html; charset=${encoding}" pageEncoding="${encoding}"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="${encoding}">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Insert title here</title>
<link rel="shortcut icon" type="image/x-icon" href="../images/SiSt.ico">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.0/jquery.min.js"></script> 
<link rel="stylesheet" href="/resources/cdn-main/example.css">
<script src="/resources/cdn-main/example.js"></script>
</head>
<body>
${cursor}
</body>
</html>
profile
개발 공부중

0개의 댓글