롬복이란? LOMBOK
생성자, getter, setter, toString 등의 반복 메서드 작성 코드를 줄여주는 라이브러리
- 코드의 가독성 및 유지보수성 향상
- @Data 혹은 @toString으로 자동생성되는 toString()메서드는 순환참조 또는 무한재귀호출로 인해 StackOverFlowError를 발생시킬 수 있다.
* StackOverFlowError
어노테이션 사용을 위한 lombok 설치
방법 1 )
https://mvnrepository.com/artifact/org.projectlombok/lombok/1.18.16
원하는 lombok 버전 선택 > jar 다운로드 (1.18.16)
eclipse.exe 파일 선택 > quick installer 클릭
* 경로가 안잡힌다면 eclipse.exe이 있는 경로로 직접 설정해주기
방법 1이 적용 안되는 경우 방법 2 )
help > Install New Software 클릭
Work with: lombok - https://projectlombok.org/p2 입력 > 하단 lombok 체크박스 선택 > next > 동의 > finish
trust > selectAll > restart
eclipse 설정파일인 eclipse.ini 열기 > lombok 검색 > 이전에 설치된 lombok 지워주기
eclipse 종료 후 다시 열기 > 클래스들 정상적으로 열리는지 확인, 롬복 적용되는지 확인
스프링 프레임워크 의존성 추가
@Controller 적용 안될 때 )
src > main > resources > META-INF 파일 생성 > spring-mvc.xml 파일 추가
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- @Controller 어노테이션을 이용한 컨트롤러를 사용하기 위한 설정 -->
<mvc:annotation-driven />
<!-- DispatcherServlet의 매핑 경로를 "/"로 주었을때, JSP/HTML/CSS 등을 올바르게 처리 하기 위한
설정 -->
<mvc:default-servlet-handler />
<!-- prefix="/WEB-INF/view/"은 forward 시킬때 "board/list.jsp" 라고 입력을 하면 실제적으로는
"/WEB-INF/view/board/list.jsp" 가 된다. suffix=".jsp" 로 지정하면 "board/list" 만
입력을 하면 실제적으로는 "board/list.jsp" 가 된다. prefix는 앞에 내용을 붙이는 것이고 suffix는 뒤쪽에 내용을
붙이는 것이다. -->
<mvc:view-resolvers>
<mvc:jsp prefix="/WEB-INF/view/" suffix=".jsp" />
</mvc:view-resolvers>
<!-- 자동 DI 적용 -->
<context:annotation-config />
pom.xml 세팅
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com</groupId>
<artifactId>test</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>test Maven Webapp</name>
<url>http://maven.apache.org</url>
<!-- properties 추가 -->
<properties>
<spring.version>4.0.1.RELEASE</spring.version>
</properties>
<dependencies>
<!-- springframework 추가 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8 -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>21.1.0.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.2</version>
</dependency>
</dependencies>
<build>
<finalName>test</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.2</version>
</plugin>
</plugins>
</build>
</project>