이제 본격적으로 서버 관련 개발을 하기 시작하면서, spring boot로 과제를 진행하게됐습니다.
spring boot를 보기 전에, Spring부터 살펴보겠습니다
Spring이란?
Java 엔터프라이즈 개발을 위한 오픈소스 어플리케이션 프레임워크이다.
Java가 객체 지향언어이므로, 스프링은 좋은 객체 지향 어플리케이션 개발을 도와준다.
프레임워크는 개발하는 데에 있어 필요한 모든 업무 분야 및 모든 기술과 관련한 코드의 뼈대.
여러 기능을 가진 클래스와 라이브러리가 특정 결과물을 구현하고자 합쳐진 형태
특징
POJO(Plain Old Java Object)
순수 Java만을 통해서 생성한 객체.
외부 라이브러리 method를 사용하면 POJO가 아님.
POJO는 순수 Java만을 사용했기 때문에 외부 기술, 규약의 변화에 독립적 + 유연성 + 확장성
객체가 가벼우며, 객체지향적인 설계를 제한없이 적용할 수 있다.
IoC(Inversion of Control): 제어 역전.
개발자의 프로그램이 외부 라이브러리 코드를 호출하는 것이 아닌, 외부 라이브러리 코드가 개발자 코드를 호출.
제어권이 프레임워크에게 있어 스프링 프레임워크가 사용자의 코드를 호출한다.
DI(Dependency Injection): 의존성 주입
객체를 직접 생성하지 않고 외부에서 설정을 통해 생성한 후 주입시켜주는 방법
모듈간 결합도를 낮출 수 있음.
AOP(Aspect Oriented Programming): 관심지향 프로그래밍
로직은 핵심적인 관점(Core Concern), 공통적인관점(Cross-cutting concern)으로 나눌 수 있는데, 애플리케이션 전반에 걸쳐 적용되는 공통 기능을 비즈니스 로직으로부터 분리해내는 것.
공통된 기능을 재사용하여 코드를 간결하게 하고, 객체지향 설계 원칙에 맞는 코드를 구현할 수 있다.
PSA(Portable Service Abstraction)
하나의 추상화로 여러 서비스를 묶어둔 것. 환경 변화와 상관없이 일관된 방식으로 기술에 접근할 수 있는 환경을 제공한다.
참고
스프링과 스프링부트(Spring Boot)ㅣ정의, 특징, 사용 이유, 생성 방법
스프링은 Java 백엔드 개발에 있어 떼어놓을 수 없는 프레임워크입니다. Java 백엔드의 핵심 기술이 되는 스프링 프레임워크와 스프링 부트가 무엇인지, 나아가 스프링 부트를 활용하여 프로젝트
www.codestates.com
https://memodayoungee.tistory.com/102
[Spring] 스프링(Spring Framework)의 정의와 특징
💡Spring Framework: 자바 엔터프라이즈 애플리케이션 개발에 사용되는 오픈소스 경량급 애플리케이션 프레임워크이다. 흔히 스프링이라고 부른다. 스프링이란? 애플리케이션의 기본 틀! 스프링 컨
memodayoungee.tistory.com
'개발(프로그래밍) > Spring Boot' 카테고리의 다른 글
JAVA 와 JAVA Script의 차이점 (0) | 2025.01.10 |
---|---|
Spring Boot란? (1) | 2024.12.23 |