Spring Boot Directory 구성
2021. 4. 19. 22:38ㆍ개발/Spring
반응형
build.gradle
plugin, dependencies 등을 정의하여 build 구성을 나열하는 곳이다.
자세한 내용은 What it Gradle? 를 참고하면 좋다.
간단하게 요약하면, Build Automation 을 도와주는 녀석이다.
src 폴더
spring boot에서 initializing project 를 진행하면 2개의 폴더가 자동으로 생겨난다.
- src/main
- src/test
main은 말 그대로 현재 프로젝트의 main이 되는 코드를 넣는 곳이고,
test에는 프로젝트를 테스트해 볼 수 있는 코드가 담기는 공간이다.
main 아래에는 2개의 폴더로 다시 나뉘게 된다.
/src/main/java
/src/main/resources
java에는 java package가 담기게되고,
resources에는 static resource를 담는 곳이다.
/src/main/java/com/example/demo/Application.java
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Demo1Application {
public static void main(String[] args) {
SpringApplication.run(Demo1Application.class, args);
}
}
java package 내부의 application.java 를 확인해보면, 위와 같이 담겨져있다.
@SpringBootApplication 라는 낯선 annotation이 붙어있다.
컨트롤 마우스왼쪽버튼을 눌러 뭐하는 녀석인지 찾아보면 아래와 같이 나온다.
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
3개의 Annotation이 눈에 띄어 찾아보았다.
@SpringBootConfiguration | 스프링부트의 설정을 나타내는 Annotation |
@EnableAutoConfiguration | 자동 설정을 도와주는 Annotation |
@ComponentScan | @Component, @Service, @Repository, @Controller Annotaion이 달린 class들을 자동으로 Scan하여 Bean으로 등록해주는 역할을 한다. |
정리해보면, application.java는 spring boot를 시작하기위한 설정을 단 몇줄안에 끝내두었다.
반응형
'개발 > Spring' 카테고리의 다른 글
IntelliJ에서 Cannot resolve symbol 오류 해결하기 (0) | 2021.04.19 |
---|---|
IntelliJ 로 Spring Boot 시작하기 (0) | 2021.04.16 |
Spring을 위한 Visual Studio Code 설정 (0) | 2021.04.14 |
자바 설치 (Java 11 install) (0) | 2021.04.14 |