IoC: 야! 이제 관리 너가해 제어권을 스프링에게 건네는 것
그럼 어떻게 객체를 가져올건데? @Autowired로 DI 가능!


객체를 반환하는 메소드 위에 @Bean을 달면 반환되는 객체를 컨테이너에 등록하게 된다!!
@Bean으로 등록된 생성자 객체를 불렀기 때문에 싱글톤 패턴이 적용됨.
만약) 다음 코드처럼 변경한다면,
public Person person(){
return new Person(new House()); //갖고있는걸 줘
}
생성자가 두번 생성되어 반쪽짜리 IoC라고 볼 수 있다..!😓
if(instance==null){
//참고: 멀티스레딩을 지원하는 앱을 만드는 경우 여기에 스레드 잠금을 설정해야 한다.
instance=new Singleton();
}
return instance