개발자 미니민의 개발스터디

[프레임워크] 프레임워크 이론 정리

by mini_min

꾸준한 것이 가장 중요하지! 화이팅!! 🥰

 

프레임워크 

소프트웨어의 구체적인 부분에 해당되는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스 클을 제공하는 것이다. 

복잡한 문제를 해결하거나 서술하는데 사용되는 기본 개념 구조이다.

프레임워크는 구체적이며 확장 가능한 기반 코드를 가지고 있고, 여러 디자인 패턴의 집합으로 구성되어 있다.

 

라이브러리

자주 사용되는 로직을 재사용하기 편하도록 잘 정리한 코드들의 집합이다.

소프트웨어 개발시 사용되는 프로그램의 구성 요소로, 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것이다.

플랫폼에서 바로 실행될 수 있는 형태로 제공된다.

 

스프링 프레임워크

자바 엔터프라이즈 개발을 위한 오픈 소스 애플리케이션 프레임워크이다.

DI, AOP, MVC, 트랜잭션, 보안 등의 기능을 지원한다.

스프링 프레임워크는 IoC 기반이다!

IoC 는제어의 역전이라고 하는데, 일반적으로 프로그램은 개발자가 객체 생성과 소멸, 의존성 주입, 메소드 호출 등을 제어하는 구조이다. 하지만 제어의 역전은 모든 객체에 대한 제어권을 컨테이너에 위임한 것을 말한다.

 

◻️ 스프링 프레임워크의 특징

컨테이너 역할을 한다.

의존성을 주입한다. (객체 간 의존관계를 설정한다)

관점지향 프로그래밍을 한다. (여러 모듈에서 사용하는 기능의 경우 해당 기능을 분리하여 관리한다)

트랜잭션 처리를 위한 일관된 방법을 제공한다.

영속성과 관련된 다양한 API를 지원한다.

JDBC, 마이바티스, JPA 등 데이터베이스 처리를 위한 ORM 프레임워크와의 연동을 지원한다.

 

◻️ DI 란? (의존성 주입)

객체 자체가 아니라 프레임워크에 의해 객체의 의존성이 주입되는 설계 패턴이다.

각 클래스간의 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결한다.

 

◻️ AOP 란? (관점 지향 프로그래밍)

핵심 비즈니스 로직과 공통 모듈을 분리함으로써 개발자가 좀 더 비즈니스 로직에만 집중해서 처리할 수 있는 방법을 제공한다. 

의존 관계의 복잡성과 코드 중복을 해소해주는 프로그래밍 기법이다!

 

스프링 부트 특징

- 라이브러리 관리 자동화

- 설정의 자동화

- 라이브러리 버전 자동 관리

- 테스팅 환경 및 내장 톰캣

- 독립적으로 실행 가능한 JAR

 

 

 

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기