스프링은 흔히 스프링 프레임워크를 말하며, 주요 특징 몇 가지를 간단히 정리해보려고 합니다.
의존성 주입, AOP, MVC 웹 프레임워크 / JDBC, JPA 연동, 선언적 트랜잭션 처리 등 DB 연동 지원
이외에도 스케줄링, JMS, 이메일 발송, 테스트 지원 등 자바 기반의 애플리케이션을 개발하는데 필요한 다양한 기능을 제공합니다.
의존성 주입(Dependency Injection / DI) : 하나의 객체가 다른 객체의 의존성을 제공하는 기술
'의존성'은 예를 들어 서비스로 사용할 수 있는 객체이다.
클라이언트가 어떤 서비스를 사용할 것인지 지정하는 대신, 클라이언트에게 무슨 서비스를 사용할 것인지를 말해주는 것이다.
'주입'은 의존성(서비스)을 사용하려는 객체(클라이언트)로 전달하는 것을 의미한다.
서비스는 클라이언트 상태의 일부이다.
클라이언트가 서비스를 구축하거나 찾는 것을 허용하는 대신 클라이언트에게 서비스를 전달하는 것이 패턴의 기본 요건이다.
의존성 주입의 의도는 객체의 생성과 사용의 관심을 분리하는 것이다.
이는 가독성과 코드 재사용을 높여준다.
관점 지향 프로그래밍(Aspect Oriented Programming / AOP)
관점 지향은 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화 하겠다는 것이다.
여기서 모듈화란 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것을 말한다.
MVC 웹 프레임워크
M(Model) : 데이터와 관련되는 부분으로 형식을 지정, 저장, 불러오는 것을 담당하는 부분
V(View) : 실제 사용자가 화면을 통해 보는 부분
C(Controller) : M - V를 연결해주는 부분(제어)
MVC 웹 프레임워크를 사용하면 개발자와 디자이너의 역할을 분리할 수 있게 되고, 구현과 유지보수 단계에서 노력과 수고를 줄일 수 있다.
스프링의 핵심 기능은 객체를 생성하고 초기화하는 것이다.
'백엔드 > 스프링' 카테고리의 다른 글
SpringMVC의 기본이 되는 애노테이션(@controller, @service, @repository) (0) | 2021.09.04 |
---|---|
Controller에서 view로 데이터를 전달할 때 사용하는 애노테이션 (0) | 2021.09.03 |
롬복(lombok) (0) | 2021.09.03 |
메이븐 기본 폴더 구조 (0) | 2021.07.02 |
메이븐 프로젝트(Maven Project) (0) | 2021.07.02 |
최근댓글