spring project 생성

Seungsoo Lee·2022년 11월 6일
0

web

목록 보기
9/13

프로젝트 생성 진행

  • https://start.spring.io 접속

  • generate 하기

  • intelliJ 실행
    - 아까 다운받고 압축풀었던 폴더의 Build.gradle을 Open한다.

  • main 문 실행


    8080 포트가 열렸다.

코드 간단 설명

package hello.hellospring;

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

@SpringBootApplication
public class HelloSpringApplication {

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

}
  • 일단, HelloSpringApplication 은 프로젝트의 메인 클래스로서 SpringApplication.run()으로 인해 내장 WAS(Web Application Server)를 실행한다. 스프링 부트 자체 내부에 톰켓이 설치가 되어있으므로 스프링부트로 만들어진 .jar 파일을 그대로 실행시키면 알아서 html로 변환이되어 서버가 실행이 된다.

  • Java Annotation인 @SpringBootApplication는 무슨 일을 할까?
    프로그램을 돌리기 위해 필요한 객체를 만들어야하는데(빈으로 등록하고 (Spring IoC 컨테이너가 관리하는 자바 객체를 빈(Bean)이라고 함)) 그러기위한 annotation을 묶어둔것이 @SpringBootApplication이다.

    • 들어가보면 아래와 같이 나온다.

      @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) })

      여기서 가장 중요한 3가지는 @SpringBootConfiguration, @EnableAutoConfiguration, @ComponentScan 인데 @SpringBootApplication을 없에고 이 3가지를 붙여도 작동을 한다.

    • 결론
      프로그램에 필요한 객체들을 으로 등록하기 위해서 해야할 설정들을 해주는 annotation이다.

참고
https://velog.io/@kjh950330/TIL-DAY-5-%ED%86%B0%EC%BA%A3%EC%9D%B4%EB%9E%80https://velog.io/@kjh950330/TIL-DAY-5-%ED%86%B0%EC%BA%A3%EC%9D%B4%EB%9E%80
https://ssons.tistory.com/62#:~:text=%EB%82%B4%EC%9E%A5%20WAS%EB%9E%80%20%EB%B3%84%EB%8F%84%EB%A1%9C%20%EC%99%B8%EB%B6%80,%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EC%8B%A4%ED%96%89%ED%95%98%EB%A9%B4%20%EB%90%A9%EB%8B%88%EB%8B%A4.
https://mungto.tistory.com/447

0개의 댓글