목록분류 전체보기 (161)
개발 기록
동적으로 빈을 선택해야 할때 map이나 list으로 받아서 사용하면 편리함 @RequiredArgsConstructor static class DiscountService { private final Map policyMap; private final List policies; public int discount(Member member, int price, String discountCode) { DiscountPolicy discountPolicy = policyMap.get(discountCode); return discountPolicy.discount(member, price); } } ex ; 가격 정책 두 가지를 고객이 선택해서 사용할 수 있을때 map 에 다 넣어서 선택한 정책을 받아와 그..
생성자 주입 -생성자 호출시점에 딱 1번만 호출되는 것이 보장 -불변, 필수 의존관계에 사용 수정자 주입 -setter 메서드를 통해 의존관계 주입 -선택, 변경 가능성이 있는 의존관계에서 사용 private MemberRepository memberRepository; private DiscountPolicy discountPolicy; @Autowired public void setMemberRepository(MemberRepository memberRepository) { this.memberRepository = memberRepository; } @Autowired public void setDiscountPolicy(DiscountPolicy discountPolicy) { this.disc..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
싱글톤 패턴 -클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴 -그래서 객체 인스턴스를 2개 이상 생성하지 못하도록 막아야 한다 : private 생성자를 사용해서 외부에서 임의로 new 키워드를 사용하지 못하도록 막아야 한다 싱글톤 컨테이너 -스프링 컨테이너는 싱글톤 패턴을 적용하지 않아도, 객체 인스턴스를 싱글톤으로 관리 -이미 만들어진 객체를 공유해서 효율적으로 재사용 스프링 컨테이너는 싱글톤 레지스트리 - 스프링 빈이 싱글톤이 되도록 보장 스프링은 클래스의 바이트코드를 조작하는 라이브러리를 사용 @Configuration을 붙이면 바이트코드를 조작하는 CGLIB 기술을 사용해서 싱글톤 보장 출처 인프런 스프링 핵심 원리 - 기본편
https://kgu0724.tistory.com/71 리눅스 에러 Could not get lock /var/lib/dpkg/lock-frontend 이 글은 nodejs 설치시에 발생된 에러들입니다. E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg frontend .. kgu0724.tistory.com E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg ..
보호되어 있는 글입니다.
스프링 빈 조회 - 상속관계 부모 타입으로 조회하면, 자식 타입도 함께 조회한다. 그래서 모든 자바 객체의 최고 부모인 Object타입으로 조회하면, 모든 스프링 빈을 조회해버림 실제 테스트코드 짤때는 sout 사용하지말고 테스트 통과여부로만 보이게 만드는 것이 좋다 BeanFactory -스프링 컨테이너의 최상위 인터페이스 -스프링 빈을 관리하고 조회하는 역할 담당 -getbean( ) 을 제공 ApplicationContext -BeanFactory 기능을 모두 상속받아서 제공 -빈팩토리와의 차이는? -- 애플리케이션 개발시 필요한 수많은 부가기능을 제공함 public interface ApplicationContext extends EnvironmentCapable, ListableBeanFacto..