JVM/Spring

· JVM/Spring
Conclusion @Postonstruct, @PreDestory annotation 으로 콜백메소드를 지정하라. 외부 라이브러리 콜백 메소드 지정이 필요할 때만 @Bean 메소드 지정 방식을 사용하라. Why to use? 애플리케이션을 개발하다보면 초기에 DB 커넥션 풀이나 Socket 등 을 미리 열어두는 것이 필요할 수 있다. 반대로 이렇게 연결을 유지하는 객체들은 애플리케이션 종료시 안전하게 연결 해제 (혹은 반납)을 해줄 필요가 있다. 이를 'release' 혹은 'close' 라 하는데, Spring은 이 동작을 안정적이고 편하게 할 수 있는 매커니즘을 제공한다. 스프링 빈은 객체 생성 -> 의존 관계 주입 초기화 작업은 의존관계 주입 '후'에 되야한다. 이 "의존 관계 주입 완료" 시점을..
· JVM/Spring
한 타입(Interface)에 대해 여러 Bean 이 등록되어 있으면 어떻게 해결할 것인가? Autowired 동작 순서 Type Matching Type Matching 결과가 2개 이상인 경우 필드명이나 파라미터 명으로 빈 이름 매칭. public class OrderServiceImpl implements OrderService{ // 구현체가 아닌 Interface (역할) 에만 의존해야한다. => DIP 원칙 준수 private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired // Type Matching 시도 // 타입 매칭 결과가 2개 이상인 경우 필드명 혹은 파라미터..
· JVM/Spring
When to use component scan? 코드레벨에서 설정 정보가 없어도 자동으로 스프링 빈을 자동 등록하려 할 때 How to use? class 어노테이션으로 '@Component' 혹은 그 자식 어노테이션을 붙여준다. 이때, 생성자에는 '@Autowired' 등으로 자동으로 DI가 일어날 수 있도록 매핑해주는 것이 좋다. @Component public class RateDiscountPolicy implements DiscountPolicy { private final int discountPercent = 10; // .. 생략 } 스프링 빈의 기본 이름은 클래스명을 사용하되 맨 앞글자만 소문자를 사용한다. (PascalCase -> camelCase) 빈 이름 직접 지정시 @Compo..
M_Falcon
'JVM/Spring' 카테고리의 글 목록 (2 Page)