본문 바로가기

Spring

@Autowired , Bean

반응형

@Autowired

일반적으로 private UserRepository userRepository
= new UserRepository();


이렇게 직접 객체를 만들어서 사용한 것이 일반적인데 
@Autowired 사용 시

스프링이 직접 private UserRepository userRepository 라는 객체를 관리 하겠다는 의미

 

주입 받는 다는 것은 어떤 객체가 만들어 지고 그 속성은 내부에서 생겨나는 것이 아니라 외부에서 만들어진 것으로 부터 들어와서 입력되는 것

 

예를 들어 Car라는 객체에 Tire라는 class 변수가 있다고 하면 Tire는 Car class 내부에서 만드는 것이 아니고

Tire tr = new KoreaTire();

Car car = new Car(tr);

이런 식으로 주입되는 형태임. 이 때의 tr는 bean

 

Bean의 개념 

User의 멤버가 id, name , address라면

각각의 유저는 id , name , address의 조합으로 이루어진다.

따라서 id와 name과 address는 여러개가 존재 하며 이것을 주입받은 하나의 인스턴스가 생성되는 것.

이때의 id, name, address가 bean

 

 

 

Bean을 주입 받는 데에는 

setter를 이용하여 변수하나하나 주입 받는 것과

생성자를 통해 주입 받는 것과

@Autowired가 존재. (Type에 따라 알아서 Bean을 주입)

 

반응형

'Spring' 카테고리의 다른 글

@OneToMany (fetch type) , @ManyToOne  (0) 2019.11.10
ERD  (0) 2019.11.10
Assertions & Transactional 어노테이션  (0) 2019.11.10
Main & Test  (0) 2019.11.10
JPA url 오류 해결.  (0) 2019.11.10