일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 오버라이딩
- java
- JSON
- 백준
- @configuration
- html form
- 코드트리
- 서블릿
- 싱글톤
- 프록시
- 티스토리챌린지
- 스프링
- 인터페이스
- http 메시지 컨버터
- objecterror
- HttpServletResponse
- DI
- 스프링컨테이너
- 코드트리조별과제
- equals()
- ocp
- 김영한
- 테스트코드
- 코딩테스트
- 오블완
- 추상클래스
- 의존관계
- 다형성
- 참조변수
- fielderror
- Today
- Total
목록@configuration (2)
minOS
@Configuration과 바이트코드 스프링 컨테이너는 싱글톤 레지스트리다. 따라서 스프링 빈이 싱글톤이 되도록 보장해주어야 한다. 전 게시물은 자바 코드를 3번 호출 하는 것이 맞다. 그래서 스프링은 클래스의 바이트 코드를 조작하는 라이브러리를 사용한다. @Configuration을 적용한 AppConfig 클래스 타입을 보면 $$SpringCGLIB$$0이 붙는다. 순수한 클래스라면 example.core.AppConfig가 출력되어야한다. AppConfig$$SpringCGLIB$$0 내가 만든 클래스가 아니라 스프링이 CGLIB라는 바이트 코드 조작 라이브러리를 사용해서 AppConfig클래스를 상속받은 임의의 다른 클래스를 만들고 , 그 다른 클래스를 스프링 빈으로 등록한 것이다. AppCo..
AppConfig코드 @Configuration // 설정 정보 public class AppConfig { //@Bean memberService -> new MemoryMemberRepository() //@Bean orderService -> new MemoryMemberRepository() @Bean //스프링 컨테이너에 빈 등록 public MemberService memberService(){ return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository(){ return new MemoryMemberRepository(); } @Bean public OrderService or..