국비지원 공부 정리/SpringBoot
Spring이란?
worldstroy
2025. 4. 9. 13:14
Spring이란?
• Java 웹 프레임워크로 Java언어를 기반으로 함 |
• Java 기반의 웹 어플리케이션을 만들 수 있는 백엔드 프레임워크 |
• 수많은 국내 기업과 해외 기업에서 많이 사용하는 프레임워크 |
• 엔터프라이즈용 Java 애플리케이션 개발을 편하게 할 수 있게 해주 는 오픈소스 경량급 애플리케이션 프레임워크 |
스프링 프레임워크 특징
IoC (Inversion of Control, 제어의 역전) | ![]() |
• 객체의 생성부터 소멸까지 개발자가 아닌 스프링 컨테이너가 대신해주는 것 | |
• 제어권이 개발자가 아닌 IoC 에 있으며, IoC 가 개발자의 코드를 호출해 필요 한 객체를 생성, 소멸해 생명주기를 관리한다 | |
DI (Dependency Injection, 의존성 주입) | • 구성 요소의 의존 관계가 소스코드 내부가 아닌 외부의 설정 파일을 통해 정 의됨 |
• 즉, 외부에서 객체를 주입 받아 사용함 | |
• DI (의존성 주입) 방법으로 IoC (제어의 역전) 를 구현 | |
AOP (Aspect Object Programming, 관점 지향 프로그래밍) | ![]() |
• 어떤 로직을 기준으로 “핵심 관점”, “부가 관점”으로 나누어서 보고 그 관점을 기준으로 각각 모듈화 | |
• 기능을 비즈니스 로직과 공통 모듈로 구분한 후, 개발자의 코드 밖에서 필요 한 시점에 비즈니스 로직을 삽입하여 실행되도록 함 | |
• 계좌 이체와 입출금 로직을 처리할 때 공통적으로 로깅과 보안 작업을 수행 해야 한다 | |
• 일반적으로 이 경우, 공통의 코드를 두 개의 로직에 모두 넣고 사용한다 | |
• AOP는 공통 관심(로깅, 보안)을 따로 빼내어 객체 별로 처리하는 것이 아닌 관 점 별로 외부에서 접근해 사용하도록 만든다 | |
POJO (Plain Old Java Object, 단순한 자바 오브젝트) | • 다른 기술을 사용하지 않고 순수 Java만을 통해서 생성한 객체 |
• ex. 필드, getter, setter만 존재하는 기본적인 Java 오브젝트 | |
객체 지향적인 원리에 충실하면서 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오 브젝트” |
DI (Dependency Injection, 의존성 주입)의 종류 3가지
Field Injection (필드 주입) | ![]() |
Setter Injection (수정자 주입) | ![]() 주입 대상을 설정하여 수정자에서 주입함. |
Constructor Injection (생성자 주입 ) | ![]() |