TIL 20220228 MON

sally·2022년 2월 28일
1

TIL

목록 보기
2/6
  • spring-boot-starter-web

    • tomcat : 웹서버

      • 내장톰캣(임배디드) : 소스라이브러리에서 웹서버를 들고 있다.
    • 스프링 부트 라이브러리를 쓰면 스프링 관련 세팅까지 (core 등) 함께 돌아간다.

  • 로그
    • slf4j 인터페이스에 logback 구현체 조합
  • 테스트
    • build.gradle
      • testImplementation 'org.springframework.boot:spring-boot-starter-test'

View

  • static
  • templates

welcom page

  • 스프링 부트는 static과 templates에서 "welcome pages"를 지원한다.

    • index.html 파일을 먼저 static에서 찾은 후, 없으면 templates에서 탐색한다.

  • viewResolver

    •   @Controller
        public class MainController {
            @GetMapping("/")
            public String init() {
                return "index";
            }
        }
    • 컨트롤러에서는 문자열만을 반환했는데 resources/templates의 index.html 의 화면이 실행됐다.
      • 스프링 컨테이너 안에서
        • 스프링 부트 템플릿엔진이 기본 viewName 매핑
          • ex: index
          • prefix + viewName + suffix
            • prefix : resources:templates/ (경로)
            • suffix : .html
  • 배포, 빌드
    EC2 springboot 배포

    • 윈도우는 gradlew.bat

    • $ sudo chmod 777 ./gradlew

    • $ sudo ./gradlew build

    • $ nohup java -jar ${해당 .jar파일} &

      • putty의 접속이 끊겨도 백그라운드 실행이 되는 명령어
      • 웹서버 시작 : 접속 가능!
  • 정리
    • ./gradlew bootjar ?
    • ./gradlew build 빌드 후 jar 실행
      • cd build/libs로 이동
        • libs 폴더가 생성되지 않았으면 빌드가 제대로 되지 않은것
    • java -jar [파일명].jar
    • ./gradlew clean build : 기존 파일을 지우고 새로 빌드
    • gradlew 를 이용하여 빌드하면 로컬 환경 java와 gradle 버전과 상관없이 새로운 프로젝트를 빌드할 수 있다.
    • gradlew 이용한 빌드
      • 오류 대비 빌드 취소 명령어
  • 웹서버 실행


  • 중복되는 url 제거하기 : @RequestMapping
    • @PostMapping("/users")
    • @GetMapping("/users")
      -> @RequestMapping("/users")
  • @PathVariable
    • Controller 메서드는 타입무관하게 원하는 데이터를 받을 수 있다.
    • @PathVariable 은 왜 사용할까?
profile
sally의 법칙을 따르는 bug Duck

0개의 댓글