본문 바로가기
카테고리 없음

이클립스 롬복 LOMBOK 설치 및 스프링 프레임워크 의존성 추가

by cook_code 2023. 5. 7.
반응형

롬복이란? LOMBOK 

생성자, getter, setter, toString 등의 반복 메서드 작성 코드를 줄여주는 라이브러리 

- 코드의 가독성 및 유지보수성 향상 

- @Data 혹은 @toString으로 자동생성되는 toString()메서드는 순환참조 또는 무한재귀호출로 인해 StackOverFlowError를 발생시킬 수 있다. 

* StackOverFlowError

 

Java의 StackOverflowError

1. 개요 StackOverflowError 는 우리가 접할 수 있는 가장 일반적인 런타임 오류 중 하나이기 때문에 Java 개발자에게 성가실 수 있습니다. 이 기사에서는 다양한 코드 예제와 이를 처리할 수 있는 방법

recordsoflife.tistory.com

 

어노테이션 사용을 위한 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>

 

반응형