스프링부트

Tae hyun·2023년 2월 8일
1

@SpringBootApplication
@Target(value={TYPE})
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters={@Filter(type=CUSTOM, classes={TypeExcludeFilter.class}), @Filter(type=CUSTOM, classes={AutoConfigurationExcludeFilter.class})})
@Retention(value=RUNTIME)
@Documented
@Inherited

excludefilter: 컴포넌트스캔에서 제외할 것들


run as springboot app을 하면 다음과 같은 로그들이 뜬다


프로젝트 우클릭후 spring-add starters에서 available에 필요한 라이브러리들을 검색해서 poam.xml에 자동으로 추가할 수 있다.

*히카리같이 커넥션풀과 관련된 외부라이브러리는 poam.xml에 직접 추가


스프링에서는 web.xml을 대신하기위해 webinitializer 클래스를 사용했었다.

스프링부트에서는 webinitializer를 사용하지 않는다.
그대신 ServletInitializer 클래스를 사용함

스프링부트에는 tomcat이 내장되어있음
@SpringBootApplication
이 포함되는 패키지하위에 있으면 componentscan을 따로 안해줘도 된다

만약 별개의 패키지이면 basepackages부분으로 추가해주기

logging

-어플리케이션 개발 중 또는 완료 후 발생할 수 있는 오류를 디버깅하거나 상태를 모니터링하기 위해 필요한 정보를 기록하는 것
System.out.println으로 테스트하다가 완료시에는 안보고싶다면 코멘트하고 재컴파일해야하고, 다시 2차 개발을 한다면 주석을 풀고 소스코드를 재컴파일해야함
=한마디로 시스아웃프린트엘엔은 로깅에 적합하지 않다

보안상 취약점이 발견된 로그포제이는 사용권장을 잘 안함

자바주요 로깅프레임워크
1)Log4J
2)Logback :log4j의 후속버전-스프링부트에 포함
3)tinylog: 최소형 로깅프레임워크
:
:
SLF4J(SimpleLoggingFacadf4Java)-자바 주요 로깅 프레임워크 표준안
이 사용법을 쓰면 slf4j-log4j12.jar와 연결만 되어있다면 실제 로그백 프레임워크 기능을 호출할수있게됨

로그백-클래식이 바인딩용 라이브러리로 slf4j-log4j12.jar역할
jcl로 시작하는 라이브러리가 브릿지용라이브러리.

브릿지용라이브러리: log4j에서 사용했던 문법을 다른 데서 똑같이 사용불가. 기종간의 로그프레임워크를 연결시켜줌

로그레벨
TRACE < DEBUG < INFO <WARN < ERROR
제일많이쓰는 것은 info레벨 이상
trace: 상세정보를 알려줌
DEBUG: 디버깅하기위해 표시한다
INFO : 상태의 변경정보를 표시한다
WARN : 경고성 메시지를 표시한다
ERROR: 오류가 발생한 경우 표시한다

기본레벨보다 낮은경우 표시되지 않는다

profile
안녕하세요 개발하는 알파카입니다. https://github.com/oh-taehyun

0개의 댓글