springboot3 SpringBoot Part1-5 1. logging 로깅이란? 시스템을 작동할 때 시스템의 작동 상태의 기록과 보존, 이용자의 습성 조사 및 시스템 동작의 분석 등을 하기 위해 작동 중의 각종 정보를 기록해 둘 필요가 있다. 이 기록을 만드는 것을 로깅이라 한다. 즉, 로그 시스템의 사용에 관계된 일련의 「사건」을 시간의 경과에 따라 기록하는 것이다. println()으로 로깅이 불가능한 이유 상황 별로 로그를 조정할 수 없고 별도로 처리하기 어렵다. 대량의 로그가 발생할 때, 큰 성능 문제를 야기시킨다. => 오버헤드 발생 가능성 존재 운영 상태에서는 절대! 쓰면 안된다. Java Logging Framework - java.util.logging (표준 로깅 API) - Apache Commons logging - Log4J - L.. 2023. 6. 26. SpringBoot Part1-3 1. Circular Dependency (원형 의존성) - 두 개 이상의 객체 간에 서로가 서로에 대해 의존하는 상황 - A -> B를 참조하는 동시에 B -> A를 참조 - BeanCurrentlyInCreationException 예외가 발생할 수 있다. Circular Dependency의 문제점 @Configuration class CircularConfig{ @Bean public A a (B b) { return new A(b); } @Bean public B b(A a) { return new B(a); } } - 어느 빈을 먼저 생성하고 주입해야 하는지 판단하기 어렵다. -> BeanCurrentlyInCreationException 발생 - 의존성 주입이 순환적으로 계속되는 경우, 무한.. 2023. 6. 22. SpringBoot Part1-2 1. Inversion of Control(제어의 역전) IoC란 제어의 흐름이 역전되는 것을 말한다. 해당 상황에서는 객체가 자신이 사용할 객체를 스스로 선택, 생성하지 않는다. 💡 스프링 프레임워크에서는 제어의 권한이 객체 자신에게 없고 프레임워크에 있다. => 프레임워크는 전체 흐름의 제어 권한을 가지고 있다. => 프레임워크가 흐름을 주도하면서 개발자가 만든 애플리케이션 코드를 사용한다. SpringBoot Part1-1에서 작성한 코드를 살펴보자. public class Main { public static void main(String[] args) { FixedAmountVoucher fixedAmountVoucher = new FixedAmountVoucher(10L); Order orde.. 2023. 6. 21. 이전 1 다음