[spring] 스프링 개념 - 스프링 프레임워크란?
by mini_min프로젝트 끝! 스프링 공부 시작 🥰💖
마이 액션 상속받는 클래스 만들고
properties 만든다. 클라이언트의 모든 요청은 마이 서블릿으로 들어오고,
클라이언트가 요청한 주소를 찾는다. 해당 주소를 통해 어떤 액션
action.execute(req, resp) 의 execute 를 실행할지 선택한다.
((서블릿 사용할 필요 x))
라이브러리란?
자주 사용되는 로직을 재사용하기 편리하도록 잘 정리한 일련의 코드들의 집합
프레임워크란? (=뼈대)
소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 용이하게끔 일련의
협업화된 형태로 클래스들을 제공하는 것
라이브러리는 필요없으면 안써도 됨
프레임워크는 없으면 안된다. 아무것도 할 수 없음
프로그램의 틀과 구조를 결정하고, 개발자는 그 위에 프로그램을 개발하게 된다.
이미, 중복적인 소스는 얼추 짜여있다는 말이고, 필요한 것만 덧붙이면 된다.
* 구체적이며 확장 가능한 기반 코드를 가지고 여러 디자인 패턴의 집합으로 구성
* 스프링 프레임워크란?
자바 엔터프라이즈 개발을 위한 오픈 소스 애플리케이션 프레임워크
자바 객체를 담고 있는 경량의 컨테이너로서 자바 객체의 생성, 소멸 같은 라이프 사이클을 관리한다. (이제 NEW 로 객체 생성할 필요 X)
DI, MVC, 트랜잭션, 보안 등의 기능을 지원한다.
Spring Framework 는 IoC 기반이다.
제어의 역전 : 개발자가 제어하는 구조에서 모든 객체에 대한 제어권이 넘어간 것이 제어의 역전이다.
기존 개발자가 모든 작업을 제어하던 것을 🔥특별한 객체에 모든것을 위임하여 객체의 생성부터 소멸까지의 생명주기, 의존성 주입 등🔥 모든 객체에 대한 제어권이 넘어간 것
* 컨테이너 역할
Spring 컨테이너는 객체의 라이프사이클을 관리하며, 컨테이너로부터 필요한 객체를 가져와 사용할 수 있다.
* 의존성 주입 DI Dependency Injection
Spring 은 설정파일이나 어노테이션을 통해서 객체 간의 의존관계를 설정한다.
* 관점지향 프로그래밍
트랜잭션이나 로깅, 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리
* 트랜잭션 처리를 위한 일관된 방법 제공한다.
JDBC, JTA 등 어떤 트랜잭션을 사용하던 설정을 통해 정보를 관리하므로 트랜잭션 구현에 상관없이 동일한 코드 사용 가능하다.
* 영속성과 관련된 다양한 API 지원
JDBC 및 마이바티스, Hibernate, JPA 등 데이터베이스 처리를 위한 ORM 프레임워크와의 연동을 지원한다.
* POJO 지원
컨테이너에 저장되는 java 객체는 특정한 인터페이스를 구현하거나, 특정 클래스를 상속받지 않아도 된다.
'Spring' 카테고리의 다른 글
[spring] bean Scopes 빈 객체 범위 정의 (0) | 2022.11.09 |
---|---|
[spring] 의존성 주입 - 생성자, setter, 프로퍼티 파일 (0) | 2022.11.09 |
[spring] 주요 인터페이스, 의존성 주입 개념 (0) | 2022.11.08 |
[spring] DI (Dependency Injection) 의존성 주입 (0) | 2022.11.08 |
[spring] <bean> 태그, 생성자 의존성 주입 방법 (0) | 2022.11.08 |
블로그의 정보
개발자 미니민의 개발로그
mini_min