spring
-
TIL 30th day(2021.11.20)TIL(Today I Learned) 2021. 11. 20. 00:20
조회한 빈이 모두 필요한 경우📌 List, Map ex) 할인의 종류 rate or fixDiscountPolicy 둘다 필요한경우 실무에서의 자동 그리고 수동📌 스프링빈은 많은 기능을 자동으로 지원한다. 이를 적극적으로 활용하는것이 좋다. 업무 로직 빈과 기술 지원 빈이 있다. 업무 로직 빈에는 '자동'이, 기술 지원 빈에는 '수동'이 유지보수에 유리하다. 왜?) 기술 지원은 광범위하게 적용되고 그 수가 적어 오류 사항을 확실하게 찾고 유지보수해야하기 때문 반면에, 업무 로직 빈(비즈니스 로직)에서도 '수동' 선언이 좋을 때가 있다. ex) '다형성'을 사용할 때,(List, Map) 또는 여러 빈을 사용해야할때 왜? ) 다른 사람이 내 코드를 ..
-
TIL 27 (2021.11.17)TIL(Today I Learned) 2021. 11. 17. 19:45
Spring Container 🎯 BeanDefinition (= interface)이 아래 데이터들(metadata)의 추상화 역할을 해서 읽어드린다. AppConfig.class (= 구현체) appConfig.xml appConfig.xxx Singleton Pattern🎯 pure java는 웹(클라이언트)에서 요청이 올때마다 새로운 객체를 생성한다. 이는 Memory waste를 초래한다 해결방안 : Singleton pattern을 사용한다. Singleton은 하나의 객체만 생성하고 공유하도록 설계가 가능하다. Problems of Singleton Pattern DIP 위반 테스트의 어려움 복수의 생성자 생성의 어려움(다형성을 크게 떨어트림) SpringContainer(SingletonC..
-
TIL 20일차 (2021.11.10)TIL(Today I Learned) 2021. 11. 10. 17:12
스프링 빈, 스프링 컨테이너 MVC 과정에서 Controller는 스프링 컨테이너에 저장되어있다가 호출되는 방식. 스프링빈 의존관계 추가(컴포넌트 스캔 방식) public class MemberController { private final MemberService memberService = new MemberService(); }-> 이 코드는 이미 MemberService가 다른 클래스 파일에 선언되어있으므로 new로 중복되어 안정적이지 못하다, 하나만 생성해서 공유하는 방식이 효율적이다.(DI 방식,) public class MemberController { private final MemberService memberService; // 스프링컨테이너 공용 사용 @Autowired public ..