본문 바로가기
프로그래밍/Spring

CommandLineRunner이용 및 어플리케이션 구조

by Mr-후 2019. 4. 16.
반응형

CommandLineRunner이용 및 어플리케이션 구조


스프링부터에는 CommandLineRunner라는 인터페이스가 있다. 메인 App클래스가 CommandLineRunner인터페이스를 구현하면 DI 컨테이너가 App클래스에도 주입할 수 있게 된다. 


@EnableAutoConfiguration

@ComponentScan

public class App implements CommandLineRunner {

@Autowired

ArgumentResolver argumentResolver; 

@Autowired

Calculator calculator; 


@Override

public void run(String... strings) throws Exception {


}


public static void main(String[] args) {

StrpingApplication.run(App.class, args); 

}

}


스프링 프레임워크를 사용한 애플리케이션에서는 보통 각 레이어에 클래스를 만들고 DI컨테이너가 이 클래스들을 주입하도록 구성한다. 애플리케이션에서는 서비스 클래스가 엔티티(entity) 같은 도메인 객체의 컬렉션인 리포지토리 클래스를 사용하여 로직을 조합하며, 엔트리 포인트(웹 애플리케이션에서는 컨트롤러)가 사용자의 요청에 맞춰 서비스 클래스를 호출한다. 

의존성 해결은 DI컨테이너에 맡긴다. 

정형적인 스프링부트 패키지 모습. 


반응형