스프링 프레임워크
정의
자바 플랫폼을 위한 오픈 소스 어플리케이션 프레임 워크로서 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션
스프링 프레임워크는 경량 컨테이너로 자바 객체를 담고 직접 관리한다.
객체의 생성, 소멸, 라이프 사이클을 관리하면 언제든 컨테이너에서 필요한 객체를 가져와 사용
이는 스프링이 IOC기반의 프레임 워크임을 의미한다.
IOC란
Inversion Of Control의 약자로 제어의 역전을 의미한다
일반적인 프로그램의 구조는
- 객체 결정 및 생성
- 의존성 객체 생성
- 객체 내 메소드 호출
각 객체들이 프로그램의 흐름을 결정하고 구성하는 작업에 직접적으로 참여한 것으로
모든 작업을 사용자가 제어하는 구조이다
IOC에서는 객체는 자기가 사용할 객체를 선택하거나 생성하지 않고 자신이 어디서 만들어지고 사용되는지에 대해 모른다
즉, 제어의 흐름을 사용자가 컨트롤 하지 않고 위임한 특별한 객체에 모든것을 맡기는 형태이다
IOC의 구성 - DI
https://ik0501.tistory.com/entry/Spring-%EC%9D%98%EC%A1%B4%EC%84%B1%EC%9D%B4%EB%9E%80
Spring) 의존성이란?
의존성이란? 파라미터나 리턴값 또는 지역변수 등으로 다른 객체를 참조하는 것 A가 B를 의존한다 > 의존 대상인 B가 변하면 A에 영향을 미친다 B의 기능이 추가 또는 변경되거나 형식이 바뀌게
ik0501.tistory.com
스프링 프레임 워크의 특징
POJO(Plain Old Object)
- getter/setter를 가진 단순 자바 오브젝트로 정의
- 의존성이 없고 추후 테스트 및 유지보스가 편리
- 코드가 간결해짐
AOP(Aspect Oriented Programming) - 관점 지형 프로그래밍
핵심기능과 공통기능을 분리시켜 핵심 로직에 영향을 끼치지 않게 공통 기능을 끼워 넣는 개발 형태
무분별하게 중복되는 코드를 제거할 수 있고
공통기능을 한 곳에 모아 보관하고 관리 함으로써 유지보수가 가능하여 재활용성이 극대화 된다.
MVC(Model View Controller)
mvc 구조로 사용자 인터페이스와 비지니스 로직을 분리하여 개발
https://ik0501.tistory.com/entry/Spring-ControllerRepositoryService
Spring) MVC 패턴 (Controller,Repository,Service)
MVC패턴 Model - DB와 연결하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터 처리 View - 사용자가 볼 수 있는 부분 Controller - Model이 데이터를 어떻게 처리할지 알려주는 역할 각각의 역할에
ik0501.tistory.com
참고 자료
'Spring' 카테고리의 다른 글
Spring) 인증, 인가 / 스프링 시큐리티 (1) | 2022.12.08 |
---|---|
Sping) ORM, JPA, Spring Data JPA (0) | 2022.12.07 |
Spring) Bean Validation (0) | 2022.12.04 |
Spring) ResponseBody , ResponseEntity (0) | 2022.12.04 |
Spring) HttpServletRequest, HttpServletResponse (0) | 2022.12.04 |