카테고리 없음

JAVA SPRING Framework

최종군 2024. 10. 1. 20:03

Framework : 

개발자가 소프트웨어를 개발함에 있어 코드를 구현하는 

개발 시간을 줄이고 코드의 재사용성을 증가시키기 위한

일련의 클래스 묶음 뼈대, 틀을 제공하는 라이브러리를 구현해 놓은 것이다

 

라이브러리와 프레임워크 차이점

프레임워크 : 애플리케이션을 개발할 때 필요한 기본적인 구조와 규칙을 제공한다. 

개발자가 그 틀 안에서 코드를 작성하고,

프레임워크가 전반적인 흐름을 제어한다. 

 

라이브러리 : 특정 기능을 구현한 코드 묶음으로 개발자가 필요할 때 

호출하여 사용하는 도구이다 주된 흐름과 제어는 개발자가 주도하며 

필요한 기능을 구현하기 위해 라이브러리를 호출한다. 

 

프레임워크 장점 및 단점 : 

장점 :

1. 개발 시간을 줄일 수 있다. 

2. 정형화 되어있어 일정 수준 이상의 품질을 기대할 수 있다

3. 유지 보수가 쉽다. 

 

단점 : 

1. 지나친 의존 시 개발자의 능력이 떨어져 스스로 개발하는 

    것이 어려워진다. 

2. 습득 시간이 오래걸린다. 

 

 

Apache Maven : 

자바용 프로젝트 관리 도구 POM.xml을 통해서 

해당 프로젝트의 버전 정보 및 라이브러리

정보들을 통합하여 관리하는 프레임워크이다

 

라이브러리 종속성 : 

일반적인 프로젝트는 개발자가 필요한 

라이브러리를 직접 찾아서 추가해야 하지만 Maven을 사용하면 

pom.xml문서에 사용하고 싶은 

라이브러리를 등록하여 자동으로 프로젝트에 추가되게 하여 

라이브러리 관리의 편리성을 제공한다. 

 

* 기존 프로젝트 내 lib 폴더 내에 사용할 라이브러리를 직접 추가하여 관리해왔다면 

Maven은 pom.xml 문서 하나만으로 필요한 라이브러리를 자동으로 

설치하고 관리할 수 있다. 

 

 

Spring IOC : 

ioC(제어 반전) 

프로그램을 구동하는데 필요한 객체에 대한 생성, 변경등의 

관리를 프로그램을 개발하는 사람이 아닌 프로그램을 구동하는 컨테이너에서 

직접 관리하는 것을 말한다. 

 

IoC 컨테이너 

스프링에서 관리하는 객체를 "Bean"이라고 하고, 

해당 빈들을 관리한다는 의미로 컨테이너를 Bean Factory라고 한다. 

 

IoC 컨테이너 역할 : 

 

객체의 생명주기와 의존성을 관리한다

VO(DTO/POJO) 객체의 생성, 초기화, 소멸등의 처리를 담당한다. 

개발자가 직접 객체를 생성할 수 있지만 해당 권한을 컨테이너에 

맡김으로써 소스 코드 구현의 시간을 단축할 수 있다.