| ResourceLoader Applicationcontext가 상속받고 있다. 리소스를 읽어오는 기능을 담당하는 인터페이스 이다. 예제 resources폴더에 test.txt 파일을 생성한다. @Component public class AppRunner implements ApplicationRunner { @Autowired ResourceLoader resourceLoader; // ApplicationContext 해도 동일하다. why? applicationContext가 ResourLoader를 상속받고 있으니까 @Override public void run(ApplicationArguments args) throws Exception { Resource resource = resourceL..
스코프 싱글톤 프로토타입 Request Session WebSocket ... 싱글톤 객체 사용주 주의 사항 프로퍼티가 공유된다는 것을 알아야 한다. 즉, 쓰레드 세이프티 하게 코딩해야 한다. ApplicationContext 만들 때 생성되기 때문에 애플리케이션 구동시 시간이 걸릴 수 있다. 1. 싱글톤과 프로토타입 package org.kyhslam; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; @Component @Scope("prototype") public class Proto { } import org.springframework.beans.factory.a..
일반적인 (의존성에 대한) 제어권: "내가 사용할 의존성은 내가 만든다." // 예시 class OwnerController { private OwnerRepository repository = new OwnerRepository(); } 📝 IoC(Inversion of Control) 의존관계주입(DI : Dependency Injection) 이라고도 한다. 의존 객체를 직접 만드는게 아니라 주입받아 사용받는 것을 말한다 스프링이 빈 객체를 관리한다. 빈의 의존성 관리해준다. 관리해준다는 건 필요한 의존성들을 각각 주입을 해준다는 것이다. 예시 class OwnerController { private OwnerRepository repo; public OwnerController(OwnerRepos..