| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- synchronized
- lombok
- Dependency Injection
- Volatile
- builder
- 일급 컬렉션
- factory
- java
- Google OAuth
- 일급 객체
- OAuth 2.0
- Spring
- spring security
- Today
- Total
목록2024/12 (3)
HJW's IT Blog
빈 생명주기 콜백빈 생명주기 콜백 시작어플개발을 하다 보면, 어플리케이션 시작 시점에 특정 서비스나 리소스를 준비하거나, 연결해둔 뒤에 어플리케이션 종료 시점에 이를 깔끔하게 정리하는 로직이 필요한 경우가 있다.예를 들어DB Connection Pool 연결 : 어플리케이션 구동 시점에 미리 연결 풀을 구성해두면 빠른 DB 연동이 가능하다외부 서비스와의 Socket 연결 : 초기에 연결을 맺어 두었다면, 어플리케이션 종료 전에 연결을 해제해야 정상적인 종료가 가능하다.이와 같이 시작할때, 준비, 끝날때 정리 는 매우 흔한 요구사항이다. 그렇다면 우리는 스프링 빈이 언제 준비 되는지와, 어떤 시점에 초기화 / 정리 로직을 호출할 수 있는지를 명확하게 알아야다음과 같은 예시를 보자 public class N..
컴포넌트 스캔 / Dependency Injection컴포넌트 스캔과 의존관계 자동 주입이전 포스팅 까지는, Spring Bean 등록시, @Bean 을 사용해 설정 정보에 직접 등록 해 주었다. 하지만, 프로젝트 규모가 커질 수록, 일일이 등록하기도 힘들고, 누락하는 문제도 발생한다. 이번 포스팅에선, 자동으로 Spring Bean 을 등록하는 방법에 대해 알아보자우선, AutoAppConfig.java 파일을 생성.package hello.core;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframew..
📔 웹 어플리케이션과 싱글톤스프링은 태생이 기업용 온라인 서비스 기술을 지원하기 위해 탄생했다. 그렇기에 대부분의 스프링 어플리케이션은 웹 어플리케이션이다. 웹 어플리케이션의 특징은, 보통 여러 고객이 동시 요청을 보낸다는 점이다. 그렇다면 어플리케이션이 커지고, 트레픽이 많아질 수록, 객체 생성 비용과 메모리 사용량은 증가하게 되고, 많은 리소스를 소모한다는 뜻이다. 다음은, 스프링이 없는 순수한 DI 컨테이너 테스트 예시이다. public class SingletonTest { @Test @DisplayName("스프링 없는 순수 DI 컨테이너") void pureContainer(){ AppConfig appConfig = new AppConfig(); ..