minlog
article thumbnail

 

Spring

스프링은 테스트의 용이성과 의존관계, 느슨한 결합을 없애는데 중점을 두었다.유지보수와 확장에 불편함이 없도록 나왔다. 

다른 프래임워크와 가장 큰 차이점은 Ioc / AOP 가 있다.

 

 

 

 

 

DI (Dependency Injection)

객체를 사용하기 위해서 외부에서 주입을 받는것

 

DI 장점

  •  의존성으로 부터 격리시켜 코드 테스트에 용의
  •  DI를 통하여, 불가능한 상황을 Mock과 같은 기술을 통해 안정적인 테스트가 가능
  • 코드를 확장하거나 변경 할때 영향을 최소화한다 (추상화)
  • 순환참조를 막을 수 있다.

 

 

Ioc (Inversion of Control)

자바의 객체를 new로 생성해서 개발자가 관리 하는 것이 아니라 스프링 컨테이너 (Spring Container)에게 맡긴다.

개발자에서 > 프레임워크로 객체 관리의 권한이 넘어감 (제어의 역전)

 

 

스프링 컨테이너에서 객체를 관리하기 위한 방법 = 빈( Bean )으로 설정

※ Bean

스프링 컨텐츠에서 관리되는 객체들을 빈이라고 한다. 

 

@Component

클레스 객체에 어노테이션을 선언하여  빈으로 등록한다.

스프링에서 관리해달라는 요청, 객체가 싱글 톤 형태로 되어 사용된다.

 

@Configuration 

클레스 객체에 어노테이션을 선언하여 여러개의 객체를 빈으로 등록한다.

내부에 빈을 @Bean 선언해서 등록. 

 

profile

minlog

@jimin-log

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!