private static final Logger LOG = LoggerFactory.getLogger(Sample.class);
=>
lombok 이용
@Slf4j
public class Sample {
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
@Controller
@Slf4j
public class TestController {
@GetMapping("/")
public String String(String str){
try {
str.toString();
} catch (NullPointerException e){
log.trace("가장 디테일한 로그");
log.warn("경고");
log.info("정보성 로그");
log.debug("디버깅용 로그");
log.error("에러",e);
}
return "test";
}
}
공통점 : Spring(IOC) Container에 Bean을 등록하도록 하는 메타데이터를 기입하는 어노테이션
@Component
개발자가 직접 작성한 Class를 Bean으로 등록하기 위한 어노테이션
https://galid1.tistory.com/494
@NoArgsConstructor : 파라미터가 없는 기본 생성자를 생성
@AllArgsConstructor : 모든 필드 값을 파라미터로 받는 생성자를 만듦
@RequiredArgsConstructor : final이나 @NonNull인 필드 값만 파라미터로 받는 생성자 만듦
@PostConstruct : 초기화 작업을 할 메소드에 적용
@PreDestroy : 컨테이너에서 객체를 제거하기 전에 실행