스프링 프레임워크 강의 1강 - Spring 소개와 학습 안내 (from YouTube뉴렉처)

Mr.SQL·2019년 12월 23일
0

https://www.youtube.com/watch?v=XtXHIDnzS9c&list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T&index=2&t=1s

요약

Spring이 support하는 것 중에서 중요한 것을 꼽는다면
DI, TM 이 중요하다. 특히 connection이 끊겼을 때 JDBC만으로 관리가 힘든 것을
Spring은 단순히 라이브러리 사용만을 통해 지원한다.

JavaEE vs Spring
1. MVC => DI => 느슨한 결합, Interface
2. transaction => AOP
3. 인증과 권한 => Servlet filter

추가로 찾아본 것

  1. Interface
    서로상관없는 객체들이 특정 service를 사용하려 할 때, 그 service가 요구하는
    기능을 구현 및 재정의 한 후 사용하려는 것.
    이 때 service가 요구하는 기능이 interface. 인터페이스는 반드시 함수의 몸체가 비어야 하고, 이를 구현하는 쪽에서 override 할 것.
    (일반적인 상속과 좀 달라 혼동되서 찾아봄)

  2. Transaction Management
    (출처 : https://www.tutorialspoint.com/spring/spring_transaction_management.htm)
    먼저 Transaction이란, 작업이 한 번 작동할 때마다 움직이는 처리단위를 뜻한다. 총 네 개의 키워드가 있다.
    Atomicity : 전체 작업이 모두 성공하거나, 모두 실패해야만 한다.
    Consistency : data 일관성을 위해 primary key가 table에 존재해야 한다.
    Isolation : transaction processing 시, 동일한 시간내에 중복된 data set이 작업될 수 있다. data corruption을 막기 위해 각 transaction은 고립돼야 한다.
    Durability : transaction이 되면, 그 결과는 지워져선 안된다. 그 이유가 system failure라도.

이런 transaction 방식에는 크게 Programmatic과 Declarative가 있다. 스프링은 양쪽 모두를 지원한다.
Programmatic : programming 방식으로 당신이 직접 제어한다. 매우 유연하나, 유지가 어렵다.
Declarative : 당신은 annotation을 통한 제어 혹은 XML파일 설정 기반으로한 제어만 수행하면 된다.
Declarative방식은 조금 덜 유연하나, Spring AOP를 통해 모듈화과 더 쉽다는 장점이 있다.

profile
Mr.SQL velog에 오신것을 환영합니다.

0개의 댓글