ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (Spring) 스프링 프레임워크란?
    Spring 2021. 10. 18. 00:53

    스프링 공부를 시작함에 따라 정리 및 복습 겸 스프링 내용을 포스팅 해보려 합니다.

     

    프레임워크란?
    "SW 관점에서 어플리케이션의 전반적인 구조, 코드를 제공해주는 것"
    프레임워크를 사용할 때의 장점
    1) 유지보수에 들어가는 비용이 절감된다.
    2) 구조를 프레임워크에서 지원해주기 때문에 개발자는 비즈니스 로직만 구현하면 된다 -> 개발비용 단축
    3) 유지보수 과정에서 아키텍처의 변형이 발생되지 않는다.
    스프링 프레임워크란?
    "IoC와 AOP(Aspect Oriented Programming)를 지원하는 경량의 컨테이너 프레임워크"
    IoC와 AOP가 뭔데?
    IoC(Inversion of Control)
    : 스프링 컨테이너를 사용하기 이전에는 객체간의 결합을 개발자가 직접 관리해야 했다. 예를 들면 의존관계를 변경해야 할 때 마다 자바코드를 수정해야 했고 그렇기 때문에 결합도가 높아지게 되고 이는 비효율로 이어졌다.
    컨테이너가 객체간의 결합을 대신 처리하게 함으로써 결합도를 낮출 수 있었는데 이를 IoC, 제어의 역행이라한다. IoC가 적용되면 컨테이너가 객체를 생성, 관리하므로 자바코드가 변경되지 않는다. 뒤에 나오지만 싱글톤 패턴 유지에 큰 도움이 된다.

    AOP(Aspect Oriented Programming)
    : 해석하면 관점 지향 프로그래밍으로 로직을 핵심로직(핵심관심), 부가적인 로직(횡단관심) 으로 나누어서 각각 모듈화하는 프로그래밍 기법이다. 웹에서의 핵심로직은 보통 CRUD 가 되고 부가적인 로직은 예외처리, 트랜잭션, 보안 등등이 된다. 다시 말해 핵심 로직이 작동할 때, 필요한 부가적인 로직이 반복되어 들어가는데, 각각 모듈화 시켜서 재사용성을 늘리고 응집도를 높일 수 있다.
    정리하자면 스프링 프레임워크는 왜 쓰는거야?
    스프링 컨테이너가 객체 생성 및 결합관리를 해주기 때문에 (IoC) 개발자가 객체 관리를 직접 할 필요가 없어서
    편하고, 싱글톤 패턴 유지를 쉽게 할 수 있다. 또한 객체들간의 결합도를 낮추고 유지보수성을 향상 시킬 수 있기 때문에 사용합니다.

    스프링의 구조(Feat.이클립스)

    - 다음 포스팅은 실제 스프링 코드를 작성하기 전 여러가지 설정이 필요한데 그 설정들을 포스팅 하도록 하겠습니다.

Designed by Tistory.