2차 Spring 개발 환경 설정

리얼브로·2023년 2월 27일
0

summary

  • 스프링 부트 - 차세대 스프링 프레임워크
  • 스프링 기반 production-ready 어플리케이션 개발
  • Convention over configuration을 따름
  • 톰캣이 내장되어 단독으로 실행 가능
  • 설정을 최대한 줄이고 XML 설정파일 필요 없음

2-1.스프링부트 프로젝트 생성

  1. start.spring.io 접속

  2. Maven, Gradle 프로젝트 및 언어 선택

  3. 스프링부트 버전 선택

  4. 프로젝트 메타정보

    • Group : 도메인에 역순으로 지어서 쓴다
    • Artifact : 프로젝트명
    • java 버전
    • Packaging jar, war 선택 jar 로 하게되면 tomcat 이 내장되어 있어, 단독으로 실행이 가능하다.
    • Dependencies (Web, Spring Web 선택(Spring MVC.))
  5. generate 하면 zip 파일로 다운로드됨

  6. zip 파일을 인텔리제이(IDE툴) 에서 import 한다.

    • (new -> project -> empty project -> 경로지정 -> 열리고 팝업에서 메이븐 지정)

※ - 스프링5와 스프링 부트는 자바8 이상의 설치가 필요하다

2-2.스프링부트프로젝트기본구조

  • XXXApplication.java (자동 생성)

      @SpringBootApplication // 컴포넌트 구성과 자동 구성
      public class HelloBootApplication{
        public static void main(String[] args){
          SpringApplication.run(HelloBootApplication.class, args);
        }
      }
    • @SpringBootApplication
      • @Configuartion
      • @ComponentScan
      • @EnableAutoConfiguration
  • 스프링 부트 설정 파일

    • application.properties
      • 선택적인 파일(사용하지 않아아도 됨)
      • 명시적으로 요청하는 부분이 없음
      • spring boot 가 로드되면 자동으로 이 파일을 로드
    • 기존의 XML 설정파일도 가져올 수 있음
      • Application.java 파일에 아래 어노테이션 추가
      • @ImportResource("classpath:spring/root-context.xml")
  • 스프링 부트 개발자 툴

    • 스프링 부트 개발모드 지원
      • thymeleaf 등 템플릿에 대한 개발 캐싱을 비활성화 처리
      • 소스의 변경이 일어나면 스프링 부트 서버가 새로 시작되면 바로 반영
      • html, css 부분을 변경하면 바로 브라우저에서 감지하여 반영
        (크롬, 파이어폭스, 사파리에서 "http://livereload.com/extensions/" 플러그인 설치 필요)
    • 간단 설정
      • 디펜던시 추가 : spring-boot-devtools
          <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
          </dependency>
  • 스프링 부트 테스트 (jUnit 사용)

    • 테스트 의존성은 스프링부트 프로젝트 생성 시 자동 추가됨

          <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
          </dependency>      
        @RunWith(SpringRunner.class)
        @SpringBootTest
        public class HelloBootApplicationTests{
      
          @Test
          public void contextLoads(){
      
          }
        }

0개의 댓글