일반적으로 프로젝트의 Main 클래스(main 메소드를 정의하는 클래스) 는 다른 클래스보다 상위에있는 루트 패키지(아래 예에서 com/example/myapplication) 에 배치하는 것이 좋다. 

@SpringBootApplication 어노테이션은 주로 Main 클래스에 배치되며 특정 항목에 대한 기본 "패키지 검색" 을 암시적으로 정의한다. 

예를 들어 JPA 프로젝트를 작성하는 경우 @SpringBootApplication 어노테이션이 정의된 클래스의 패키지를 사용하여 @Entity 항목을 검색한다. 

루트 패키지를 사용하면 component scan 을 프로젝트에만 적용할 수도 있다.

@SpringBootApplication 은 @EnableAutoConfiguration / @ComponentScan / @Configuration 어노테이션을 기본 설정으로 사용한 것과 같다.

@ComponentScan 어노테이션은 어플리케이션의 모든 구성요소(@Component , @Service , @Repository , @Controller 등) 를 자동으로 Spring Bean 에 등록한다.


com

 +- example

     +- myapplication

         |

         +- Application.java

         |

         +- customer

         |   +- Customer.java

         |   +- CustomerController.java

         |   +- CustomerService.java

         |   +- CustomerRepository.java

         |

         +- order

             +- Order.java

             +- OrderController.java

             +- OrderService.java

             +- OrderRepository.java



Main 클래스인 Application.java 파일은 @SpringBootApplication 과 함께 main 메소드를 다음과 같이 선언한다.


package com.example.myapplication;
 
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
 
@SpringBootApplication
public class Application {
 
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
cs




WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret