Spring
스프링은 테스트의 용이성과 의존관계, 느슨한 결합을 없애는데 중점을 두었다.유지보수와 확장에 불편함이 없도록 나왔다.
다른 프래임워크와 가장 큰 차이점은 Ioc / AOP 가 있다.
DI (Dependency Injection)
객체를 사용하기 위해서 외부에서 주입을 받는것
DI 장점
- 의존성으로 부터 격리시켜 코드 테스트에 용의
- DI를 통하여, 불가능한 상황을 Mock과 같은 기술을 통해 안정적인 테스트가 가능
- 코드를 확장하거나 변경 할때 영향을 최소화한다 (추상화)
- 순환참조를 막을 수 있다.
Ioc (Inversion of Control)
자바의 객체를 new로 생성해서 개발자가 관리 하는 것이 아니라 스프링 컨테이너 (Spring Container)에게 맡긴다.
개발자에서 > 프레임워크로 객체 관리의 권한이 넘어감 (제어의 역전)
스프링 컨테이너에서 객체를 관리하기 위한 방법 = 빈( Bean )으로 설정
※ Bean
스프링 컨텐츠에서 관리되는 객체들을 빈이라고 한다.
@Component
클레스 객체에 어노테이션을 선언하여 빈으로 등록한다.
스프링에서 관리해달라는 요청, 객체가 싱글 톤 형태로 되어 사용된다.
@Configuration
클레스 객체에 어노테이션을 선언하여 여러개의 객체를 빈으로 등록한다.
내부에 빈을 @Bean 선언해서 등록.
'BackEnd > Spring Boot' 카테고리의 다른 글
[ Spring ] Annotation 정리 (1) (0) | 2023.03.07 |
---|---|
[ Spring ] Aop 관점 지향 프로그램 (0) | 2023.03.07 |
[ Spirng ] Security - java (4) Spring-Security를 사용한 암호화 (0) | 2023.03.06 |
[ Spirng ] Security - java (3) 회원권한 설정 (0) | 2023.03.05 |
[ Spring ] Security - java (2) 비밀번호 암호화하기 (0) | 2023.03.05 |