Spring 롬복

  • 롬복 다운로드 설치
  • 이클립스 종료 후 관리자 권한으로 명령 프로토콜에서 롬복 위치로 들어가서
  • java -jar lombok.jar 실행 후 위치를 이클립스 위치로 해서 이클립스 선택후 설치하면 롬복파일 이클립스 위치로 이동
  • 레거시 새 프로젝트 ex01 생성 후 pom.xml 버전 다시 수정
  • mvn에서 lombok 1.18.22 pom.xml 넣기
  • 컨트롤러 생성 후 @Data를 롬북으로 가져오면 여러가지 자동적으로 생성됨
  • 새로운 프로젝트를 개설할때 서버 모듈 다시 설정해야됨
package com.demo.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.demo.domain.SampleDTO;

@Controller
@RequestMapping("/sample/*") // 공통경로. sample로 시작하는 모든 주소를 의미함
public class SampleController {
	
	private static final Logger Logger = LoggerFactory.getLogger(SampleController.class);
	
	// 주소 : /sample/doA. jsp파일명
	@RequestMapping("doA")
	public void doA() {
		Logger.info("/sample/doA");
	}
	
	// 주소 : /sample/doB. jsp파일명
	@RequestMapping("doB")
	public void doB() {
		Logger.info("/sample/doB");
	}
	
	// /sample 로 싲가하는 주소와 요청방식이 존재하지 않으면, 아래 주소가 호출됨
	// 아래 주소가 없다면 오류로 요청방식 GET은 지원하지 않는다고 나옴
	@RequestMapping("")
	public void basic() {
		Logger.info("basic called...");
	}
	
	// /sample/ + /basicForm -> 인식됨
	@RequestMapping("/basicForm")
	public void basicForm() {
		Logger.info("basicForm called...");
	}
	
	// 매핑주소 여러개를 생성하여, 하나의 메서드 호출
	@RequestMapping(value = {"/bsciaA", "/basicB"})
	public void basicGet() {
		Logger.info("basicOnly called...");
	}
	
	// /sample/basicForm. 기본요청방식이 get, post 둘다 지원
	// 아래는 post만 지원하겠다는 조건
	@RequestMapping(value = "basicTwoMethod", method = RequestMethod.POST)
	public void basicTwoMethod() {
		Logger.info("basicTwoMethod called...");
	}
	
	// spring framework 4.3이후 get요청방식 주소설정. @PostMapping : post요청방식 주소설정
	@GetMapping("/basicOnlyGet")
	public void basicGet2() {
		Logger.info("basicGet2 called...");
	}
	
	
	
//	클라이언트에서 보내온 데이터를 서버(스프링)에서 참조한느 방법
//	주소 : http://localhost:9090/sample/ex1?name=홍길동&age=100
//	1) 클래스를 사용 - SampleDTO dto
	
//	주소 : http://localhost:9090/sample/ex02?name=홍길동&age=100
//	2) 각각의 필드를 사용 - String name, int age
	
	@GetMapping("/ex01") // http://localhost:9090/sample/ex01?name=홍길동&age=100
	public String ex01(SampleDTO dto) {
		
		Logger.info(dto.toString());
		
		return "/sample/ex01"; // jsp 파일명
	}
	
	// 참고. 파라미터가 기본 데이터타입은 값을 제공하지 않으면, 에러발생
	@GetMapping("/ex02") // http://localhost:9090/sample/ex02?name=홍길동&age=100
	public String ex02(String name, int age) {
		
		Logger.info("이름은 ? " + name);
		Logger.info("나이는 ? " + age);
		
		return "/sample/ex02"; // jsp 파일명
	}
	
	// ?
	
	
	@GetMapping("/ex0201") // http://localhost:9090/sample/ex0201?name=홍길동&age=100
	public String ex0201(@RequestParam("uname") String name, @RequestParam("uage") int age) {
		
		Logger.info("이름은 ? " + name);
		Logger.info("나이는 ? " + age);
		
		return "/sample/ex0201"; // jsp 파일명
	}
	
}
  • views 아래 sample 공용폴더 만들고 그 안에 basicForm.jsp파일생성
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<h3>form - post방식</h3>

	<form method="post" action="basicTwoMethod">
		<input type="submit" value="전송">
	</form>
	
	<h3>form - get방식</h3>
	<a href = "basicTwoMethod">요청</a>
	

</body>
</html>
  • com.demo.domain에 SampleDTO.java 생성
package com.demo.domain;

import lombok.Data;

// 스프링에서 사용하는 데이터 관리 목적으로 사용하는 클래스는 getter,setter 메서드가 반드시 존재
@Data
public class SampleDTO {

	private String name;
	private int age;
}

태그:

카테고리:

업데이트:

댓글남기기