Spring 정리

Crow·2022년 6월 20일
0

스프링의 3대 요소

IOC/DI를 묶어서도 많이 정리하지만 따로 했음

스프링 ioc(inversion of control):

간단히 말해서 객체의 제어권(빈의 생성과 관계설정, 사용, 제거등의 작업)이 개발자(코드)에서
스프링 컨테이너(IoC 컨테이너)로 넘어간것을 말함

장점은 개발자의 부담이 줄어서 핵심 로직에 집중할수있다는점임

스프링 DI(Dependency Injection):

객체 사이의 의존 관계를 외부에서 결정하고 주입하는것임

장점은 주입받는 대상이 변하더라도 그 구현 자체를 수정할 일이 없어 재사용이 높은 코드가 됨

스프링 PSA (Portable Service Abstraction):

일관성 있는 서비스 추상화
대표적으로 JDBC가 존재함
어떠한 DB를 사용하더라도 공통된 방식으로 코드 작성

Spring AOP (Aspect - Oriented Programming):

관점 지향 프로그래밍이며
어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고
그 관점을 기준으로 각각 모듈화 하겠다는 것임
(모듈화는 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것을 말함)

장점은 각 로직에서 로깅, 트랜잭션과 같은 반복되는 기능을 모듈화 해서 재사용할수있음 OOP를 더 잘 구현가능

AOP를 사용하여 로깅,트랜잭션 관리, 시큐리티 에서의 적용 등 AspectJ와 같이 완벽하게 구현된
AOP와 통합하여 사용 가능함

출처

코드로 배우는 스프링 웹 프로젝트
https://steady-coding.tistory.com/600#
https://guy-who-writes-sourcecode.tistory.com/40
https://engkimbs.tistory.com/746

github를 이용해서 최대한 코드 리뷰를 해주려고 노력하고 받으려고 노력하자

문제를 해결할때 상황마다 적합한 방법은 있지만 틀린 방법은 없다

profile
어제보다 개발 더 잘하기 / 많이 듣고 핵심만 정리해서 말하기 / 도망가지 말기 / 깃허브 위키 내용 가져오기

1개의 댓글

comment-user-thumbnail
2022년 6월 20일

보완해야겠음

답글 달기