본문 바로가기

반응형

개발/Spring

IoC - Autowire(오토와이어) @Autowired - 의존성 주입을 위한 어노테이션 - required : 기본값은 true 이다. 못 찾으면 애플리케이션이 안뜬다. - 사용하는 위치 : 생성자(스프링4.3부터는 생략 가능), Setter, Field 1. 생성자 ** 기본 : 어노테이션으로 각각 bean 설정 생성자에 Autowired 어노테이션으로 의존성 주입을 한다. *** 여기에 BookRepository에 빈 설정이 되어 있지 않다면 안된다. 2. Setter 3. 필드 Autowire 의 사용 될 경우의 수! 1. 해당 타입의 빈이 없을 때 사용하던 BookRepository의 빈 설정을 해제 한후 해당 클래스를 의존성 주입을 해본다. ** 어노테이션 제거 ** 실행 해당 타입의 Bean 을 찾을 수 없다는 에러가 나온다... 더보기
IoC - ComponentScan 1. application.xml 에 오토스캐닝 등록 1) application.xml 설정 2) 어노테이션으로 Bean 등록 - BookRepository @Repository, @Service 모두 컴포넌트를 상속한 어노테이션 3) bookRepository 를 bookService 에서 사용 할 수 있도록 의존성 주입 4) 확인! application.xml 에 설정된 스캐닝에 따라 패키지 하단의 모든 어노테이션을 확인하여 빈 등록과 의존성 주입을 한다. 스프링 2.5부터 가능한 기능 2. 자바 설정파일로 설정 2-1. 자바 설정 파일에 빈 선언 1) 자바 파일에 빈 설정 ApplicationConfig.java 생성 ** BookService와 BookRepository에 있던 어노테이션을 모두 .. 더보기
IoC - application.xml 로 빈 설정 1. application.xml 파일 이용 하여 Bean 설정 1) application.xml 파일 생성 2) bean 설정 scope - prototype : 매번 - request : 요청할때마다 새로운 객체 만들기 - session : http 세션당 새로운 객체 생성 - singleton : 싱글턴(default) 빈 선언한 모습 의존성 주입 - bookService에서 bookRepository를 사용할 수 있도록 주입! ref > 레퍼런스로 다른 빈을 참조한다. 다른 빈으로 설정된 것을 사용 확인! 더보기
spring-boot-starter-web pom.xml .... org.springframework.boot spring-boot-starter-web .... .... spring-boot-starter-web만 의존성에 추가해도 스프링 프로젝트에 필요한 대부분의 라이브러리가 추가된다. 더보기
IoC 컨테이너란 IoC - Inversion of Control : 의존 관계 주입(Dependency Injection)이라고도 하며, 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는게 아니라(new class), 주입 받아 사용하는 방법을 말함. 스프링 IoC 컨테이너 - BeanFactory - 애플리케이션 컴포넌트의 중앙저장소 - 빈 설정 소스로부터 빈 정의를 읽어들이고, 빈을 구성하고 제공한다. 빈(Bean) : 컨테이너 안에 있는 객체 즉, IoC 컨테이너가 관리하는 객체 public class Book{ } >> 빈이 아니다. @Repository public class BookRepository{ public Book save(Book book){ return null; } } >> 어노테이션으로 .. 더보기

반응형