create table Book(
id identity,
reader varchar(20) not null,
isbn varchar(10) not null,
title varchar(50) not null,
author varchar(50) not null,
descrition varchar(2000) not null
);
• 스프링 구성은어떻게? (bean)
• 빌드 파일은 어디에?
• import ?
• where is web server?
• 세미클론? getter, setter?
14.
groovy code compile
•maven repository에서 필요한 의존성을 찾아 적용(default : maven
Central)
• 기본 패키지 임포트를 사용자 정의 할 수 있다는 이점을 살려 필요한 패키지를 모두
그루비 컴파일러의 기본 임포트 리스트에 추가
• main() method와 비슷한 내부 부트스트램 메소드로 실행
@Grab
• @Grab은 groovy의Grape에서 특징에서 왔다, Grape는 런타임에 메이븐이나 그레이들 같은 빌드 도구를 사용하지 않고
의존성 라이브러리를 다운로드 한다.
• @Grab 선언 방법
• @Grab(group=“com.h2database”, module=“h2”, version=“1.4.192”)
• 속성을 명시적으로 지정
• @Grab(“com.h2database:h2:1.4.192”)
• 콜론으로 구분
• @Gab(“com.h2database:h2”)
• 현재 사용중인 CLI 버전으로 결정
• @Grab(“h2”)
• 모든것을 생략하고 id로 적용
17.
@GrabMetadata
• 기본 의존성버전을 오버라이드
• @GrabMetadata를 사용하면 그루비 스크립트 파일중 하나에 애너테이션을 추
가하고 프로퍼티파일 위치와 오버라이드할 의존성 메타데이터를 제공해야한다.
• GrabMetadata(“com.myorg:custom-version:1.0.0”)
@GrabResolver
• 기본적으로 @Grab에선언된 의존성은 메이븐 센트럴 리포지토리에서 가져온다.
• 스프링 부트는 스프링 프로젝트의 프리릴리스 의존성을 가져 올수 있도록 마일스톤과 스냅
샷 리포지토리를 등록한다.
• @GrabResolver를 사용하면 의존성을 가져올 추가 리포지토리를 지정 가능하다.
• @GrabResolver(name=‘jboss’, root=‘https://
repository.jboss.org/nexus/content/grops/public-jboss')
20.
배포 가능한 jar만들기
• $ spring jar ReadingList.jar .
• 모든 의존성과 그루비, 내장된 톰캣을 포함 하여
프로젝트 전체를 실행가능한 jar파일로 묶는다.
• $ java -jar ReadingList.jar
• CLI없이도 실행가능.