@Override
(Inversion of Control)
publc class A {
b = new B(); //클래스A에서 new 키워드로 클래스 B 객체 생성
}
# 스프링 컨테이너가 객체를 관리하는 방식
public class A {
private B b; //코드에서 객체를 생성하지 않음, 어디선가 받아온 객체를 b에 할당
}
(Dependency Injection)
@Autowired
빈
public class A {
//A는 B를 주입받음 (빈 = B)
@Autowired
B b;
}
관점 지향 프로그래밍
(Aspect Oriented Programming)
(Portable Service Abstraction)