스프링의 3가지 특징
스프링 - 자바 플랫폼을 위한 오픈소스 어플리케이션 프레임워크
스프링의 3가지 특징
0)IOC - 제어 역전
프로그램이 라이브러리를 사용 // 프로그램이 프레임워크에게 객체를 제공
1)DI - 의존성 주입
객체 생성 -> 의존성 객체 생성이 아닌
객체 생성 -> 의존성 객체 삽입.
의존성 객체를 스스로 만들지 않고 '스프링'이 만들어 놓은 것을 삽입 = IOC
"사과" 클래스와 이를 판매하는 "사과 판매" 클래스가 존재한다면
"물건" 클래스와 "물건 판매" 클래스로 바꾸고
"물건" 클래스를 상속하여 "사과" 클래스를 생성한다
-> 이후 다양한 물건 클래스를 새롭게 생성, 사용 가능하므로
기존 두 클래스의 결합도는 낮아지고 다형성은 상승한다.
불변할 의존 관계라면 생성자로,
선택이나 변경 가능성이 있다면 setter를 사용한다.
2)AOP - 관점 지향 프로그래밍
메인 요소인 비즈니스 로직 외에
로그나 성능 측정, 권한 체크 등의 부가적인 인프라 로직은 중복되는 부분이 많다
-> 이를 aspect 모듈로 설계, 개발하는 방법
spring에선 프록시 방식을 사용, target class를 부가 기능을 제공하는 프록시로 감싸 실행
(일종의 di라 볼 수 있음)
*OOP = 객체 지향 = 붕어빵 틀
객체를 각각 생성하지 않고 클래스라는 틀을 만들어 좀 더 간편하게 사용
3)PSA
JDBC를 사용하든 JPA를 사용하든 스프링이 알아서 추상화하여
트랜잭션 어노테이션으로 간단하게 수행 가능
트랜잭션 기능을 aspect 모듈로 만들어 사용 -> AOP
데이터 베이스 종류와 상관없이 동작 -> PSA
해당 기능을 스프링이 실행 -> IOC / DI
백엔드 개발 기술면접 정리 (Spring 추가중)
: 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크 : 동적인 웹 사이트 개발하기 위한 여러 가지 서비스를 제공함 : 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정
velog.io
스프링의 전체적인 특징 요약
https://mangkyu.tistory.com/150
[Spring] 의존성 주입(Dependency Injection, DI)이란? 및 Spring이 의존성 주입을 지원하는 이유
1. 의존성 주입(Dependency Injection)의 개념과 필요성 [ 의존성 주입(Dependency Injection) 이란? ] Spring 프레임워크는 3가지 핵심 프로그래밍 모델을 지원하고 있는데, 그 중 하나가 의존성 주입(Dependency Inj
mangkyu.tistory.com
[Spring] 의존성 주입 4가지 방법
의존성 주입 4가지 방법 알아보기
velog.io
https://velog.io/@gillog/Spring-DIDependency-Injection
[Spring] DI, IoC 정리
DI(Dependency Injection)란 스프링이 다른 프레임워크와 차별화되어 제공하는 의존 관계 주입 기능으로,객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식이다.DI(의존성 주입)
velog.io
[Spring] 의존성 주입 (Dependency Injection, DI) 예제
의존성 주입 (Dependency Injection, DI) MVC 모델을 사용하여 개발한다고 가정할 때 Controller에서는 Service에 있는 메서드를 호출해야 하고, Service에서는 Repository(or DTO,...)에 있는 메서드를 호출해야 한다.
mimah.tistory.com
의존성 주입의 개념과 방법
https://www.youtube.com/watch?v=Hm0w_9ngDpM&t=656s
AOP란 무엇인가
https://sabarada.tistory.com/127
[Spring] Spring의 핵심기술 PSA - 개념과 원리
안녕하세요. 오늘은 오랜만에 Spring에 대해서 이야기 해보고자합니다. [Spring] Spring의 정의와 기본 개념 포스팅에서 Spring의 대표적인 핵심가치 3가지로 IoC, AOP, PSA가 있다고 말씀드렸었습니다. 그
sabarada.tistory.com
PSA 요약