롬복 사용 시 장점

지환·2023년 12월 8일
0

Jsp & Servlet

목록 보기
16/21
post-thumbnail

NoticeVO

package com.example.demo.pojo1;


import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
public class NoticeVO {
	private int n_no = 0;
	private String n_title = null;
	private String n_content = null;
	private String n_writer = null;
	@Builder
	public NoticeVO(int n_no, String n_title, String n_content, String n_writer)
	{
		super();
		this.n_no  = n_no;
		this.n_title = n_title;
		this.n_content = n_content;
		this.n_writer = n_writer;
	}
	
}


LombokTest

package com.example.demo.pojo1;

import com.vo.EmpVO;

public class LombokTest {

	void methodA()
	{
		NoticeVO nvo = NoticeVO.builder().n_no(3).n_title("제목").n_content("작성자").build();
		NoticeVO nvo1 = NoticeVO.builder().n_no(3).build();
		NoticeVO nvo2 = NoticeVO.builder().n_no(3).n_title("제목").build();
		NoticeVO nvo3 = NoticeVO.builder().n_content("작성자").build();
				
		System.out.println("nvo" + nvo);
		System.out.println("nvo1" + nvo1);
		System.out.println("nvo2" + nvo2);
		System.out.println("nvo3" + nvo3);
	}
	
	public static void main(String[] args) {

		EmpVO evo = new EmpVO();
		// 이렇게 생성자를 다 정의해야된다. -> 불필요하다.
		LombokTest lt = new LombokTest();
		lt.methodA();

	}

}

==================================================

nvoNoticeVO(n_no=3, n_title=제목, n_content=작성자, n_writer=null)
nvo1NoticeVO(n_no=3, n_title=null, n_content=null, n_writer=null)
nvo2NoticeVO(n_no=3, n_title=제목, n_content=null, n_writer=null)
nvo3NoticeVO(n_no=0, n_title=null, n_content=작성자, n_writer=null)
  • 빌더를 사용하면 이렇게 롬복에서 제공하는 @Builder를 사용하면 이렇게 생성자에 대응하여 출력된다.
package com.example.demo.pojo1;

import com.vo.EmpVO;

public class LombokTest {

	void methodA()
	{
		NoticeVO nvo = NoticeVO.builder().n_no(3).n_title("제목").n_content("작성자").build();
		NoticeVO nvo1 = NoticeVO.builder().n_no(3).build();
		NoticeVO nvo2 = NoticeVO.builder().n_no(3).n_title("제목").build();
		NoticeVO nvo3 = NoticeVO.builder().n_content("작성자").build();
				
		System.out.println("nvo" + nvo);
		System.out.println("nvo1" + nvo1);
		System.out.println("nvo2" + nvo2);
		System.out.println("nvo3" + nvo3);
		
		
		//getter를 이렇게 사용할 수 있다.
		System.out.println("이렇게 사용시 vo에 저장되어 있는 초기값이 나온다.");
		System.out.println("nvo 단건출력" + nvo.getN_writer());
		System.out.println("nvo1 단건출력" + nvo1.getN_content());
		System.out.println("nvo2 단건출력" + nvo2.getN_no());
		System.out.println("nvo3 단건출력" + nvo3.getN_title());
		
		
	}
	
	public static void main(String[] args) {

		EmpVO evo = new EmpVO();
		// 이렇게 생성자를 다 정의해야된다. -> 불필요하다.
		LombokTest lt = new LombokTest();
		lt.methodA();

	}

}

===============================================
public class NoticeVO {
	private int n_no = 0;
	private String n_title = null;
	private String n_content = null;
	private String n_writer = null;



=============================================
nvoNoticeVO(n_no=3, n_title=제목, n_content=작성자, n_writer=null)
nvo1NoticeVO(n_no=3, n_title=null, n_content=null, n_writer=null)
nvo2NoticeVO(n_no=3, n_title=제목, n_content=null, n_writer=null)
nvo3NoticeVO(n_no=0, n_title=null, n_content=작성자, n_writer=null)
이렇게 사용시 vo에 저장되어 있는 초기값이 나온다.
nvo 단건출력null
nvo1 단건출력null
nvo2 단건출력3
nvo3 단건출력null

Setter를 사용해보자.

package com.example.demo.pojo1;

import com.vo.EmpVO;

public class LombokTest {

	void methodA()
	{
		NoticeVO nvo = NoticeVO.builder().n_no(3).n_title("제목").n_content("작성자").build();
		NoticeVO nvo1 = NoticeVO.builder().n_no(3).build();
		NoticeVO nvo2 = NoticeVO.builder().n_no(3).n_title("제목").build();
		NoticeVO nvo3 = NoticeVO.builder().n_content("작성자").build();
				
		System.out.println("nvo" + nvo);
		System.out.println("nvo1" + nvo1);
		System.out.println("nvo2" + nvo2);
		System.out.println("nvo3" + nvo3);
		
		
		//getter를 이렇게 사용할 수 있다.
		System.out.println("이렇게 사용시 vo에 저장되어 있는 초기값이 나온다.");
		System.out.println("nvo 단건출력" + nvo.getN_writer());
		System.out.println("nvo1 단건출력" + nvo1.getN_content());
		System.out.println("nvo2 단건출력" + nvo2.getN_no());
		System.out.println("nvo3 단건출력" + nvo3.getN_title());
		
		
	}
	
	public static void main(String[] args) {

		EmpVO evo = new EmpVO();
		// 이렇게 생성자를 다 정의해야된다. -> 불필요하다.
		LombokTest lt = new LombokTest();
		lt.methodA();
		
		//값을 넣으려면?
		NoticeVO nvo = new NoticeVO();
		nvo.setN_content("휴관공지");
		nvo.setN_title("안녕하세요 gym입니다.");
		nvo.setN_writer("4jo");
		nvo.setN_no(10);
		
		System.out.println("====main 부분 출력====");
		System.out.println(nvo);
		
		// 다시 methodA에 부르면 값이 담길까? No! 담기려면 파라미터로 넘겨야죵~!
		lt.methodA();
	}

}
===============================================================
nvoNoticeVO(n_no=3, n_title=제목, n_content=작성자, n_writer=null)
nvo1NoticeVO(n_no=3, n_title=null, n_content=null, n_writer=null)
nvo2NoticeVO(n_no=3, n_title=제목, n_content=null, n_writer=null)
nvo3NoticeVO(n_no=0, n_title=null, n_content=작성자, n_writer=null)
이렇게 사용시 vo에 저장되어 있는 초기값이 나온다.
nvo 단건출력null
nvo1 단건출력null
nvo2 단건출력3
nvo3 단건출력null
==main 부분 출력==
NoticeVO(n_no=10, n_title=안녕하세요 gym입니다., n_content=휴관공지, n_writer=4jo)
nvoNoticeVO(n_no=3, n_title=제목, n_content=작성자, n_writer=null)
nvo1NoticeVO(n_no=3, n_title=null, n_content=null, n_writer=null)
nvo2NoticeVO(n_no=3, n_title=제목, n_content=null, n_writer=null)
nvo3NoticeVO(n_no=0, n_title=null, n_content=작성자, n_writer=null)
이렇게 사용시 vo에 저장되어 있는 초기값이 나온다.
nvo 단건출력null
nvo1 단건출력null
nvo2 단건출력3
nvo3 단건출력null


methodA -> main(Setter) -> methodA() 담겼는가? No!

methodA -> main(Setter) -> methodA() 담겼는가? No!

이번엔 객체주입해서 담아보자.

package com.example.demo.pojo1;

import com.vo.EmpVO;

public class LombokTest {

	void methodA(NoticeVO nvo)
	{
		System.out.println("=============methodA======");
		System.out.println("nvo" + nvo);
		
		
		//getter를 이렇게 사용할 수 있다.
		System.out.println("이렇게 사용시 vo에 저장되어 있는 초기값이 나온다.");
		System.out.println("nvo 단건출력" + nvo.getN_writer());
		System.out.println("nvo1 단건출력" + nvo.getN_content());
		System.out.println("nvo2 단건출력" + nvo.getN_no());
		System.out.println("nvo3 단건출력" + nvo.getN_title());
		
		
	}
	
	public static void main(String[] args) {

		EmpVO evo = new EmpVO();
		// 이렇게 생성자를 다 정의해야된다. -> 불필요하다.
		LombokTest lt = new LombokTest();
		
		//값을 넣으려면?
		NoticeVO nvo = new NoticeVO();
		nvo.setN_content("휴관공지");
		nvo.setN_title("안녕하세요 gym입니다.");
		nvo.setN_writer("4jo");
		nvo.setN_no(10);
		
		System.out.println("====main 부분 출력====");
		System.out.println(nvo);
		
		// 다시 methodA에 부르면 값이 담길까? No! 담기려면 파라미터로 넘겨야죵~!
		lt.methodA(nvo);
	}

}
profile
아는만큼보인다.

0개의 댓글