2025.01.21 - [Spring Framework/Spring boot] - Spring Boot @Lazy를 사용한 Bean 지연 초기화하기 Spring Boot @Lazy를 사용한 Bean 지연 초기화하기Spring JPA를 통해 Entity 클래스를 설정하면서 지연로딩이라는 단어를 많이 들어봤을 것입니다.이번 글에서는 Bean Class를 Lazy Loading 하여, 사용하지 전까지 ApplicationContext에 초기화하지 않는 방법에kylo8.tistory.com 위 글에서는 특정 빈 클래스를 Lazy 설정하는 방법에 대해 작성했습니다. 간단히 @Lazy 어노테이션을 통해 빈 초기화 시점을 늦추는 식으로 처리했습니다. 이번 글에서는 BeanFactoryPostProcessor 인터페이..
Spring JPA를 통해 Entity 클래스를 설정하면서 지연로딩이라는 단어를 많이 들어봤을 것입니다.이번 글에서는 Bean Class를 Lazy Loading 하여, 사용하지 전까지 ApplicationContext에 초기화하지 않는 방법에 대해 작성하겠습니다. Lazy란기본적으로 애플리케이션을 실행하면 ApplicationContext에 설정한 모든 bean이 생성되고 해당 bean의 종속성이 주입됩니다. 그에 반해, Lazy bean 정의가 구성된 경우 해당 bean은 사용할 때까지 생성되지 않고 종속성이 주입되지 않습니다.즉, 사용하기 전까지 ApplicationContext에 초기화하는 것을 지연한다! Lazy Initialization 설정을 통해 애플리케이션 시작 시 로드되는 클래스와 생성..
List 문제위 문제의 핵심은 O(n) 시간 복잡도로 자신의 위치를 제외한 모든 항목의 값을 곱한 값을 구해야 한다.2중 반복문 사용 X처음에는 모든 값을 곱한 값을 구하고, 이를 각 위치의 원소로 나누어서 계산하려고 했다. 하지만 원소의 범위가 음수, 0, 양수 모든 값을 포함하고 있어서 해당 방식으로 처리할 수 없었다. (정수를 0으로 나눌 수 없기 때문이다.) 그래서 해당 문제를 각 항목의 위치를 기준으로 왼쪽의 있는 값을 모든 곱한 값과 오른쪽의 있는 값을 모든 곱합 값을 곱하여 (본인 위치에 있는 값을 제외한 값) 원하는 값을 O(n) 시간 복잡도로 해결할 수 있었다.output = [1 for _ in range(len(nums))]left, right = 1, 1output 리스트는 모든 값..
코틀린에서는 자바 + 스프링에서 지원하는 @slf4j을 사용할 수 없다. 그래서 코틀린에서 로깅을 찍기 위해서 로깅 관련 의존성을 추가하여 로그를 찍는 것이 가장 간편한 방법이다.의존성 추가implementation("io.github.oshai:kotlin-logging-jvm:7.0.0") KotlinLogging.logger 사용private val logger = KotlinLogging.logger {}fun main() { logger.trace { "This is trace log" } logger.debug { "This is debug log" } logger.info { "This is info log" } logger.warn { "This is warn log"..