728x90 제어의 역전2 Spring Boot - IoC (Inversion of Control) IoC (Inversion of Control) 스프링에서는 일반적인 Java 객체를 new로 생성하여 개발자가 관리하는 것이 아닌 Spring Container에 모두 맡긴다. 즉, 개발자에서 프로임워크로 제어의 객체관리의 권한이 넘어 갔음으로 "제어의 역전"이라고 합니다. @SpringBootApplication 어노테이션을 붙이면 스프링 부트로 동작하게 한다는 뜻입니다. @SpringBootApplication 어노테이션 내부에는 다음과 같은 어노테이션이 존재합니다. @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfigurat.. 2021. 9. 3. Spring Boot - DI (Dependency Injection) DI (Dependency Injection) 외부에서 객체 주입하면, 스프링이 객체의 생명 주기를 관리합니다. 개발자는 DI(주입)을 통해서 객체를 사용할 수 있습니다. 주입하는 주체는 스프링 컨테이너입니다. DI의 장점 의존성으로부터 격리시켜 코드 테스트에 용이합니다. DI를 통하여, 불가능한 상황을 Mock와 같은 기술을 통하여, 안정적으로 테스트가 가능합니다. 코드를 확장하거나 변경할 때 영향을 최소화한다. (추상화) 순환참조를 막을 수 있다. // IEncoder.java // 인터페이스 public interface IEncoder { String encode(String message); } // Encoder.java // 사용할 객체 public class Encoder { private.. 2021. 9. 2. 이전 1 다음 728x90