서버 개발을 쉽게 할 수 있게 하기 위해 프레임워크 를 사용하게 된다.
이 중, 대한민국 전자정부 표준으로 사용하고있는 스프링에 대해 다루고자 한다.
스프링은 자바 기반의 웹 어플리케이션을 만들 수 있는 프레임 워크
동적인 웹 사이트 개발을 위한 여러 서비스를 제공
기존의 EJB(Enterprise Java Bean) 시절을 겨울에 빗대어 새로운 봄이 왔다는 의미라고 한다 ㅎㅎ
경량 컨테이너로서 자바 객체를 직접 관리
Plain Old Java Object(POJO) 방식의 프레임워크로 기존에 존재하는 라이브러리 등을 지원하기에 용이하고 객체가 가벼움
IoC(Inversion of Control, 제어반전)
을 지원함. 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드를 호출함
DI(Dependency Injection, 의존성 주입)
을 지원함. 각 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜줌
AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)
을 지원함. 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리할 수 있음
MVC(Model-View-Controller) 패턴을 사용
확장성이 높음
References
https://spring.io/projects/spring-framework
https://spring.io/projects/spring-boot
https://goddaehee.tistory.com/238
http://melonicedlatte.com/2021/07/11/174700.html
[스프링 5 레시피(4판) - 마틴 데니엄 외]