[스프링 핵심 원리 - 기본편] 스프링 컨테이너와 스프링 빈
·
Back-End/Spring
[작성일: 2023. 08. 04]  스프링 컨테이너 설정ApplicationContext applicationContext // 인터페이스의 구현체= new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext는 인터페이스고 스프링 컨테이너라고 불린다.스프링 컨테이너는 XML 기반이나 애노테이션 기반의 자바 설정 클래스로 만들 수 있다.     스프링 컨테이너의 생성 과정위의 코드로 스프링 컨테이너를 생성하며 AppConfig.class로 구성 정보를 지정한다.  스프링 컨테이너는 파라미터로 넘어온 설정 클래스 정보를 사용해서 스프링 빈을 등록한다.빈 이름은 메서드 이름을 사용하며 @Bean(name="memberServic..
[스프링 핵심 원리 - 기본편] 스프링 핵심 원리 이해(3)
·
Back-End/Spring
[작성일: 2023. 08. 02] 제어의 역전 loC(Inversion of Control)기존 프로그램은 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체를 생성하고, 연결하고, 실행했다.반면에 AppConfig를 생성하고 난 후에 구현 객체는 자신의 로직을 실행하는 역할만 담당하게 되어 AppConfig가 프로그램의 제어 흐름을 가져가게 된다. 예를 들어 OrderServiceImpl은 필요한 인터페이스들을 호출하지만 어떤 구현 객체들이 실행될지 알 수 없다는 것이다. 프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것을 제어의 역전(loC)라고 한다.   프레임워크 vs 라이브러리프레임워크가 내가 작성한 코드를 제어하고 대신 실행하면 프레임워크(Junit)내가 작성한 코드가..
[스프링 입문] 스프링 빈과 의존관계(1)
·
Back-End/Spring
[작성일: 2023. 05. 15]  컴포넌트 스캔과 자동 의존관계 설정스프링 빈 등록하고 의존관계 설정하기회원 컨트롤러가 회원서비스와 회원 리포지토리를 사용할 수 있게 의존관계를 준비한다.Controller : MemberService를 통해서 회원가입 하고 MemberService를 통해 데이터를 조회할 수 있어야 하는데 이런 관계를 의존관계라고 한다. MemberController생성자에 @Autowired가 있으면 스프링이 연관된 객체를 스프링 컨테이너에서 찾아서 넣어준다.이렇게 객체 의존관계를 외부에서 넣어주는 것을 DI(Dependency Injection), 의존성 주입이라고 한다.이전 테스트에서는 개발자가 직접 주입했지만 이번에는 @Autowired에 의해 스프링이 주입해준다.@Contro..