package dev.awesomedev.mirim;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * 어썸데브 수습 학습 플랫폼 — 백엔드 시작점.
 * 학습 포인트: 스프링부트 앱은 이 main 메서드 하나로 서버 전체가 뜹니다.
 *
 * @SpringBootApplication 한 줄이 하는 일 세 가지:
 *  1) @Configuration — 이 클래스 자체가 설정 클래스가 된다.
 *  2) @EnableAutoConfiguration — 클래스패스를 보고 필요한 설정을 자동으로 잡는다.
 *     (spring-boot-starter-web이 있으니 내장 톰캣을 띄우고, JPA가 있으니 DB 연결을 만든다)
 *  3) @ComponentScan — 이 패키지(dev.awesomedev.mirim) 아래의 @Service, @RestController,
 *     @Component 등을 전부 찾아 스프링 빈으로 등록한다.
 *     그래서 컨트롤러·서비스를 어디에도 "등록"하는 코드 없이 애노테이션만 붙이면 동작한다.
 */
@SpringBootApplication
public class MirimApplication {
    public static void main(String[] args) {
        SpringApplication.run(MirimApplication.class, args);
    }
}
