일단 순수하게 자바로만 작성하여 간단한 예제를 만들어보자.
여기에서 프로젝트 생성
- Gradle Project
- Spring boot version 선택(snapshot / m 제외)
Project Metadata는 아래와 같이
- Group : hello
- Artifact: core
packaging : jar
JAVA 11 version
Dependencies에서 아무거도 선택하지 않으면 스프링 부트가 코어쪽에 라이브러리 몇개만 구성을 해준다.
(즉 별도의 의존관계 설정 x)
Generate하고 압축 풀고
압축푼 파일에서 build.gradle파일을 open - open as a project
package hello.core;
import hello.core.member.Grade;
import hello.core.member.Member;
import hello.core.member.MemberService;
import hello.core.member.MemberServiceImpl;
public class MemberApp {
public static void main(String[] args) {
MemberService memberService = new MemberServiceImpl();
Member member = new Member(1L, "memberA", Grade.VIP);
memberService.join(member);
Member findMember = memberService.findMember(1L);
System.out.println("new member = " + member.getName());
System.out.println("find Member = " + findMember.getName());
}
}
아래 build.gradle를 보면 starter와 관련된 라이브러리 / test 라이브러리 심플하게 2개만 쓰게 맞춰놨다.
// build.gradle
plugins {
id 'org.springframework.boot' version '2.6.4'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'hello'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
core와 context 핵심 라이브러리만 넣어둔 것을 확인할 수 있다.
main - hello.core에 있는 CoreApplication을 실행시켜 보자.
package hello.core;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class CoreApplication {
public static void main(String[] args) {
SpringApplication.run(CoreApplication.class, args);
}
}
아래와 같이 실행하고 끝난다.
그리고 Preference의 Gradle을 검색 후 Build Tools를 클릭해서
Build and run using / Run tests using 둘 다 IntelliJ IDEA로 바꿔준다.
gradle을 통해서 돌리면 느리지만 IntelliJ로 설정하면 자바를 더 빠르게 실행시켜준다.
<출처 김영한: 스프링 핵심 원리 - 기본편 >
'Spring > SpringCore' 카테고리의 다른 글
스프링 핵심 원리 이해1 - 회원 도메인 설계 (0) | 2022.03.24 |
---|---|
스프링 핵심 원리 이해1 - 비즈니스 요구사항 설계 (0) | 2022.03.24 |
좋은 객체 지향 프로그래밍 (0) | 2022.03.23 |
스프링 DB 접근 기술 - 스프링 데이터 JPA error (0) | 2022.03.23 |
스프링 DB 접근 기술 - H2 데이터베이스 설치 (0) | 2022.03.22 |