SERVER/Spring Boot

[Spring] Spring boot 프로젝트 살펴보기 (feat. 인증서버)

GaGah 2020. 12. 29. 23:51

프로젝트의 주요 파일 및 구조

 

 

크게 src, test, build.gradle이 있다는 것을 확인할 수 있다. 

프로젝트의 주요 파일  설명
src/main/java java 파일이 담겨져 있는 디렉토리
AuthServerApplication 애플리케이션이 동작할 수 있는 main함수가 담겨져있는 스프링의 메인 클래스
(애플리케이션 동작의 맨 처음이라고 생각하면 됨)
application.properties 사용할 property를 정의하는 곳 
ex) DB name, password, 속성 등

# 개인의 중요한 정보가 담겨있는 것은 따로 관리하여 gitignore에 추가해놓는 것이 좋음.
build.gradle 프로젝트에서 사용하는 라이브러리들을 관리하고 빌드하는 곳

 

 

1. AuthServerApplication

@SpringBootApplication
public class AuthServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(AuthServerApplication.class, args);
    }
}

AuthServerApplication의 코드

 

@SprringBootApplication 어노테이션은 스프링부트에서 핵심이고 스프링 부트의 어노테이션 @EnableAutoConfiguration, @ComponentScan, @Configuration 3개로 구성되어있다.

 

@EnableAutoConfiguration : 스프링의 다양한 설정을 직접하지 않아도 자동으로 완료된다.

@ComponentScan : 컴포넌트 검색 기능을 활성화해서 빈 클래스, 컴포넌트 들을 스프링 애플리케이션 컨텍스트에 등록하는 역할을 한다.

@Configuration :  자바 기반의 설정이 필요한 경우 사용됨

 

 

2. SpringApplcation.run()

run을 통해 스프링 애플리케이션을 실행할 수 있다.

 

 

3. Build.gradle

plugins {
	id 'org.springframework.boot' version '2.4.1'
	id 'io.spring.dependency-management' version '1.0.10.RELEASE'
	id 'java'
}

group = 'com.gaga'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-web'
	implementation 'org.springframework.boot:spring-boot-devtools'

	//db
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'mysql:mysql-connector-java'

	//lombok
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'
	implementation 'org.springframework.boot:spring-boot-starter-test'

	//encryption
	//implementation 'org.springframework.boot:spring-boot-starter-security'
	implementation 'org.springframework.security:spring-security-crypto:5.1.5.RELEASE'

}

test {
	useJUnitPlatform()
}

 

  • id 'org.springframework.boot' version '2.4.1' : 스프링 부트의 버전을 설정
  • sourceCompatibility = '11' : 자바 SDK 11 버전
  • repositories { mavenCentral() } : 스프링부트에서 사용하는 라이브러리를 받아오는 저장소
  • dependecies : 우리가 사용할 라이브러리들의 의존성을 추가하는 곳
LIST