0) Spring Boot에 들어가기 전에

Hyoin Jeong·2022년 7월 22일
0
post-thumbnail

@SpringBootConfiguration(Spring Boot) 🆚 @Configuration(Spring Framework)

  • @SpringBootConfiguration = @SpringBootApplication
    • 테스트환경에서 자동으로 찾아짐 → 단 한개!!(최상위 congiguraion) → main 클래스 단 1개
    • 자동으로 Component Scan 함 → 하위의 모든 패키지를 스캔
    • 다른 추가 설정 없이 Yaml파일과 ConfigurationPropreties를 사용가능
  • @Configuration : 용도별로 분리해서 사용
    • Yaml 파일을 YamlPropertiesFactory를 사용해야함
    • @PropertySource 로 어떤 property를 읽을지 정해야함
    • OrderProperties클래스에서 @ConfigurationProperties 를 사용할 때 @EnableConfigurationProperties 를 사용해야함

spring-boot-starter (Starter POMs) 장점

  • SpringApplication을 통한 손쉬운 실행
  • Auto Configuration
  • 쉬운 외부 환경 설정 - Properties, YAML, Command line 설정 등
  • 프로파일을 통한 실행환경 관리
  • Packaging Executable Jar
  • Developer Tools

SpringBoot Banner 제너레이터

  • 배너를 바꾸는 방법 - 아래의 사이트를 통해 변경 가능
  • resource폴더 → banner.txt만든 후 복붙

Text to ASCII Art Generator (TAAG) (patorjk.com)

Spring Boot Logging 기능

https://docs.spring.io/spring-boot/docs/2.5.1/reference/htmlsingle/#features.logging

스프링부트를 사용하면 기본적으로 Logback이 사용되고 SLF4J 이용 가능

logback.xml대신 configuration에서 사용가능

ex) logback.xml을 logback-backup.xml로 바꾸면 전에 log설정한거와 비슷한데 좀 다르게 나옴

Log Level 설정하기

https://docs.spring.io/spring-boot/docs/2.5.1/reference/htmlsingle/#howto.logging

Spring Boot에서 외부에서 설정가져오기

24. Externalized Configuration (spring.io)

  1. 홈 디렉터리(개발 도구가 활성화된 경우 ~/.spring-boot-devtools.properties )의 개발
    도구 전역 설정 프로퍼티
  2. 테스트의 @TestPropertySource 어노테이션.
  3. 테스트의 properties 애트리뷰트. @SpringBootTest 와 애플리케이션의 특정 부분을 테
    스트하기 위한 테스트 어노테이션에서 사용 가능.
  4. 커맨드 라인 인자.
  5. SPRING_APPLICATION_JSON 의 프로퍼티(환경 변수나 시스템 프로퍼티에 삽입된 인라인
    JSON).
  6. ServletConfig 초기 파라미터.
  7. ServletContext 초기 파라미터.
  8. java:comp/env 의 JNDI 애트리뷰트.
  9. Java 시스템 프로퍼티( System.getProperties() ).
  10. OS 환경 변수
  11. random.* 에 프로퍼티를 가진 RandomValuePropertySource .
  12. 패키지된 jar 외부의 프로파일 지정 애플리케이션 프로퍼티( application-
    {profile}.properties 와 YAML 형식).
  13. 패키지된 jar 내부의 프로파일 지정 애플리케이션 프로퍼티( application-
    {profile}.properties 와 YAML 형식).
  14. 패키지된 jar 외부의 애플리케이션 프로퍼티( application-{profile}.properties 와
    YAML 형식).
  15. 패키지된 jar 내부의 애플리케이션 프로퍼티( application-{profile}.properties 와
    YAML 형식).
  16. @Configuration 클래스의 @PropertySource 어노테이션
  17. ( SpringApplication.setDefaultProperties 에 의해 명시된) 기본 프로퍼티.

실행 가능한 jar파일 생성하기

Spring Boot의 Maven 플러그인을 이용해서 jar / war 패키지를 생성

  1. intelij 터미널에서 mvn clean package spring-boot:repackage 실행

  1. target폴더에 가서 보면 jar로 잘 패키징된 것을 볼 수 있다

  1. java -jar target/demo-0.0.1-SNAPSHOT.jar 을 실행하면 전에 내가 실행했던것을 다시 볼 수 있음

0개의 댓글