lombok

준동이·2023년 4월 20일
0
post-thumbnail

lombok

DTO 의 setter나 getter를 편리하게 만드는 방법

lombok lib

자동 생성 기능을하는 annotation(@)
https://projectlombok.org/

help -> 인스톨 뉴 소프트웨어 -> 검색창에 https://projectlombok.org/p2 -> add 후 -> Name -> add 하면 padding이 걸리며 다운 -> 체크표시 후 넥스트 하고 동의하기 후 계속 실행 -0> trust 나오면 위에꺼 체크 하고 트러스트 셀렉트 -> 재시작

lombok 사용하려면 라이브러리 필요
메이븐 생성 후 11버전으로 바꿔주고
메이븐 홈페이지에서 https://mvnrepository.com/artifact/org.projectlombok/lombok/1.18.26 에서 porm.xml에 코드 붙여줌



@Setter / @Getter

DeptTO 클래스

원하는 곳에만 적용 가능 - loc를 제외한 나머지에게만 적용시킨 것.

App 클래스

package com.exam.lombok;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        DeptTO to = new DeptTO();
        to.setDeptno("10");
        to.setDname("연구부");
        to.setLoc("대전");
        
        System.out.println(to.getDeptno());
        System.out.println(to.getDname());
        System.out.println(to.getLoc());
    }
}



@NoArgsConstructor / AllArgsConstructor

default 생성자 만들기 / 오른쪽에 DeptTO()의 왼쪽위에 작게 c라고 적혀있는 것은 Constructor(생성자)를 의미한다.

@AllArgsConstructor
매개변수가 있는 생성자 만드는 애노테이션

App 클래스

package com.exam.lombok;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        //DeptTO to = new DeptTO();
    	DeptTO to = new DeptTO("20", "개발부", "서울");
        //to.setDeptno("10");
        //to.setDname("연구부");
        //to.setLoc("대전");
        
        System.out.println(to.getDeptno());
        System.out.println(to.getDname());
        System.out.println(to.getLoc());
    }
}

정상 출력



@ToString / ToString(exclude = {"값"}) - 값 제외시키기

출력할 데이터 값을 출력할 수 있게 해준다. / 없으면 참조값만 나온다.

App 클래스

package com.exam.lombok;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
       // DeptTO to = new DeptTO();
    	DeptTO to = new DeptTO("20", "개발부", "서울");
        //to.setDeptno("10");
        //to.setDname("연구부");
        //to.setLoc("대전");
        
        System.out.println(to.getDeptno());
        System.out.println(to.getDname());
        System.out.println(to.getLoc());
        
        // 참조값이 나온다.
        // @ToString을 DeptTO에 적용시켜놓으면 데이터 값이 나온다.
        System.out.println(to);
        System.out.println(to.toString());
    }
}

@ToString 안해주면 참조값이 출력됨.



@ToString(exclude = {"deptno"}) - deptno를 제외시킴

App 클래스

package com.exam.lombok;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
       // DeptTO to = new DeptTO();
    	DeptTO to = new DeptTO("20", "개발부", "서울");
        //to.setDeptno("10");
        //to.setDname("연구부");
        //to.setLoc("대전");
        
        System.out.println(to.getDeptno());
        System.out.println(to.getDname());
        System.out.println(to.getLoc());
        
        // 참조값이 나온다.
        // @ToString을 DeptTO에 적용시켜놓으면 데이터 값이 나온다.
        System.out.println(to);
        System.out.println(to.toString());
    }
}

deptno는 제외하고 출력이 되었다.

package com.exam.lombok;

// 전체에다 적용해주기
@Setter
@Getter

// default생성자 만들어줌
@NoArgsConstructor

// 1번 생성자같은거 만들려면
@AllArgsConstructor

// @ToString을 넣어주면 출력할때 데이터 값을 뽑게 해준다. 없으면 참조값만 나옴.
// deptno 빼달라는 것.
@ToString(exclude = {"deptno"})

@EqualsAndHashCode
public class DeptTO {
	// 원하는곳에 적용시키기
	private String deptno;
	private String dname;
	private String loc;
	
	/* 1번
	이런 생상자를 만들려면
	public DeptTO(String deptno, String dname, String loc) {
		super();
		this.deptno = deptno;
		this.dname = dname;
		this.loc = loc;
	}
	*/
	
}



@Data

다 적용 / 집어넣으라는 의미

App 클래스

package com.exam.lombok;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        DeptTO to = new DeptTO();
    	// DeptTO to = new DeptTO("20", "개발부", "서울");
        to.setDeptno("10");
        to.setDname("연구부");
        to.setLoc("대전");
        
        System.out.println(to.getDeptno());
        System.out.println(to.getDname());
        System.out.println(to.getLoc());
        
        // 참조값이 나온다.
        // @ToString을 DeptTO에 적용시켜놓으면 데이터 값이 나온다.
        System.out.println(to);
        System.out.println(to.toString());
    }
}



화면구현

테이블

그래프(차트)

2D graph -> 3D
JFreeChart
https://www.jfree.org/jfreechart

JChart2D
https://jchart2d.sourceforge.net/

EXIF- EXchangable Image File format

https://drewnoakes.com/code/exif/

디지털 카메라의 이미지 파일 안에 저장되어 있는 파일 형식을 말합니다. 간단한 메타정보를 얻을 수 있게된다.

profile
개발자 꿈나무

0개의 댓글