Christmas Pikachu 스프링 프레임워크란??
Java Spring Boot

스프링 프레임워크란??

ZI_CO 2024. 2. 27.

1. 스프링 프레임워크란 무엇인가?
스프링 프레임워크는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로, 다음과 같은 특징을 가짐.

- IoC(Inversion of Control)와 AOP(Aspect Oriented Programming) 지원
IoC : 제어 역행, 개발자가 직접 객체를 생성하지 않고 컨테이너가 객체를 생성하고 관리
AOP : 관점 지향 프로그래밍, 공통 관심사를 별도의 모듈로 분리하여 코드의 재사용성과 유지보수성 향상

 

경량 : POJO(Plain Old Java Object)를 기반으로 하여 가볍고 간결한 코드 작성 가능
싱글톤 패턴 적용으로 메모리 사용량 최적화
프레임워크 : 개발 기본 틀 제공, 개발 속도 향상 및 코드 일관성 유지
다양한 라이브러리 및 툴 지원, 개발 효율성 증대

 

2. IoC(Inversion of Control)란 무엇인가?
IoC는 제어 역행이라는 뜻으로, 개발자가 직접 객체를 생성하지 않고 컨테이너가 객체를 생성하고 관리하는 방식.

장점:
결합도를 낮추고 응집도를 높여 코드의 유지보수성 향상
테스트 코드 작성 및 단위 테스트 용이
코드의 재사용성 증대

 

3. AOP(Aspect Oriented Programming)란 무엇인가?

AOP는 관점 지향 프로그래밍이라는 뜻으로, 공통 관심사를 별도의 모듈로 분리하여 코드의 재사용성과 유지보수성을 향상시키는 프로그래밍 기법.

장점:
코드의 중복을 줄이고 코드 관리를 용이하게 함
공통 관심사에 대한 변경사항을 쉽게 적용할 수 있음
코드의 가독성을 향상시킴


4. 스프링 프레임워크의 설정

 

설정 파일 : applicationContext.xml: 스프링 컨테이너 설정 파일
컨테이너 : 스프링 컨테이너는 설정 파일에 따라 객체를 생성하고 관리
<bean> 태그 : 컨테이너에 등록할 객체를 설정

 

속성:
class : 객체의 클래스 이름
id: 객체의 이름
init-method: 객체 생성 후 호출될 메서드
lazy-init: 객체 생성을 지연시킬지 여부
scope: 객체의 생존 범위 (singleton, prototype)

 

5. 결합도와 응집도
결합도 : 서로 다른 모듈 간의 의존성 결합도가 낮을수록 모듈 간의 연결이 느슨하고 변경에 유연
응집도 : 하나의 모듈 내에서 기능의 밀착 정도 응집도가 높을수록 모듈의 기능이 명확하고 이해하기 쉬움

 

6. 스프링 프레임워크를 배우는 이유
자바 엔터프라이즈 개발에서 가장 많이 사용되는 프레임워크
개발 효율성을 높이고 코드의 유지보수성을 향상시킴
다양한 기능과 라이브러리 제공

 

7. 추가 정보
https://velog.io/@bflykky/Spring-Framework-%EA%B3%B5%EC%8B%9D-%EB%AC%B8%EC%84%9C-%EC%9D%BD%EA%B8%B0-Core-1.1-1.3
https://www.egovframe.go.kr/cmm/file/readDownloadFile.do?fileId=FILE_000000000016651&fileSn=4

 

8. 주의 사항
스프링 프레임워크는 다양한 기능을 제공하지만, 모든 기능을 숙지할 필요는 없음
프로젝트의 특성에 따라 필요한 기능만 사용하는 것이 중요

 

9. 정리
스프링 프레임워크는 자바 엔터프라이즈 개발에서 널리 사용되는 프레임워크이며, IoC, AOP, POJO 등의 개념을 이해

댓글