-
[Boot] LombokSpring/Boot 2022. 9. 10. 20:45
Lombok: Annotation 기반으로 반복되는 getter, setter와 같은 코드를 자동완성 해주는 라이브러리
다운로드 후 파일 실행. 커멘드창 이용 시 설치된 경로를 입력 후 java -jar lombok.jar를 입력 후 실행 프로젝트 생성 시 lombok 체크
build.gradle
plugins { id 'org.springframework.boot' version '2.7.2' id 'io.spring.dependency-management' version '1.0.12.RELEASE' id 'java' } group = 'com.ecl' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' implementation 'javax.servlet:jstl' implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' } tasks.named('test') { useJUnitPlatform() }
application.properties
# Server port server.port=8070 # about JSP spring.mvc.view.prefix=/WEB-INF/views/ spring.mvc.view.suffix=.jsp
src\main\java\com\ecl\g05\Member.java
lombok을 사용하면 getter, setter를 할 필요가 없다
package com.ecl.g05; import lombok.Data; @Data public class Member { private String id; private String name; }
src\main\java\com\ecl\g05\LombokController
package com.ecl.g05; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class LombokController { @RequestMapping("/") public String root() throws Exception{ return "testForm"; } @RequestMapping("/test1") public String test1(@ModelAttribute("member") Member member, Model model){ System.out.println(member.getId() + " " + member.getName()); return "test1"; } }
src\main\webapp\WEB-INF\views\testForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>testForm.jsp</title> </head> <body> <body> <form action="test1"> <table border="1" cellspacing="0"> <tr><th>아이디</th><td><input type="text" name="id"/></td></tr> <tr><th>이름</th><td><input type="text" name="name"/></td></tr> <tr><td colspan="2" align="center"> <input type="submit" value="전송"/></td></tr> </table> </form> </body> </body> </html>
src\main\webapp\WEB-INF\views\test1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <body> <h1><% out.println("#Hello Lombok");%></h1> <h1>당신의 아이디는 ${member.id} 입니다.</h1> <h1>당신의 이름은 ${member.name} 입니다.</h1> </body> </body> </html>
'Spring > Boot' 카테고리의 다른 글
[Boot] Transaction (0) 2022.09.10 [Boot] MyBatis (0) 2022.09.10 [Boot] JDBC (0) 2022.09.10 [Boot] Validation (0) 2022.09.10 [Boot] Gradle (0) 2022.09.10