
1.
2. 스프링이란
java응용 프로그램을 신속하게 개발하는데 널리 사용되는 오픈소스 프레임워크입니다.
보통 '스프링'이라고 하지만, '스프링 프레임워크'가 정확한 표현입니다.
스프링을 의존성 주입(Dependency, DI)이나 관점 지향 프로그래밍(Aspect Oriented Programming, AOP)과 같은 기능뿐 아니라 기본적으로 웹을 개발할 수 있는 웹 MVC프레임워크도 같이 제공합니다.
추가로 스프링은 로깅, 데이터 엑세스, 트랜잭션 처리, 보안, 웹 애플리케이션 개발 등 다양한 영역에서 사용됩니다. 스프링은 유연한 모듈 방식을 채택하여 필요한 기능만 선택하여 사용할 수 있습니다.
장점으로는
- 성능이 뛰어나고 테스트가 쉬우며 재사용이 가능한 코드를 작성합니다.
- java EE 플랫폼에서 웹 어플리케이션을 신속하게 개발 가능
- 모든 인프라 요구사항을 제공하는 경량급 오픈 소스 프레임워크
- 규모가 큰 애플리케이션을 개발할 때 복잡함을 제거하여 훨씬 빠르고 간편하게 개발하고 효율적으로 구현할 수 있어 생 산성과 품질 면에서도 우수
- 유지 보수가 쉽다.
물론 다른 언어 프레임워크라 비교했을때 단점도 있습니다.
일반적인 자바 객체를 위한 POJO 지원
POJO(Plain Old Java Object)
자바 서블릿 코드를 작성할 때처럼 인터페이스를 반드시 구현해야 한다거나 HttpServlet클래스를 상속하지 않아도됩니. 스프링은 일반적인 자바 언어와 꼭 필요한 API 외에는 특정 구현 기술에 종속되지 않으며, 특정 데이터베이스나 서버에 의존하지 않는 자바 클래스만으로 구성해도 프로그래밍이 가능합니다.
POJO는 순수한 자바 객체로, 불필요한 기술적인 제약을 받지 않습니다. 자바의 기본 규약에 따라 작성된 일반적인 객체로, 필요시 getter 및 setter 메서드를 사용하여 속성을 설정하고 접근할 수 있습니다.
요약해서 객체지향 프로그래밍의 개념을 충족하며, 간결하고 이해하기 쉬운 코드 작성을 돕습니다.
이것이 POJO입니다.

비즈니스 로직(Business logic)이란
business logic은 업무에 필요한 데이터를 처리하는 애플리케이션의 일부를 의미합니다. 데이터 입력, 수정, 조회, 보고서 처리 등을 수행하는 루틴, 즉 보이지 않는 곳에서 일어나는 각종 처리를 의미합니다. 비즈니스가 지향하는 목표를 달성하기 위해 구성된 로직입니다.
예를 들어 온라인 쇼핑몰의 비즈니스 로직은 상품 검색, 재고 관리, 결제 처리, 주문 처리 및 배송 추적 등의 과정을 포함할 수 있습니다.
비즈니스 로직은 소프트 웨어에서 사용자 인터페이스 (UI)와 데이터 액세스 로직 으로부터 분리되어야 합니다. 이렇게 함으로써 코드의 가독성, 유지 보수, 모듈화 및 재사용성이 향상됩니다.

참고한 블로그인데 설명 잘 돼있습니다.
AOP(Aspect-Oriented Programming) (공통 모듈을 재사용, 관점 지향 프로그래) 지원
OOP(Object-Oriented Programming)을 보완하는 기술입니다.
애플리케이션 내부에서 공통 관심사를 비즈니스 로직으로 분리하고, 이 공통 관심사를 효과적으로 애플리케이션에 삽입하는 기술이 관점 지향 프로그래밍입니다.
즉, 핵심적인 기능에서 부가적인 공통 관심사를 분리하여 애스팩트(Aspect)라는 독특한 공통 모듈을 만들어 설계하고 개발하는 방법입니다.
요약해서 이를 통해 핵심 기능에 집중하면서도 보조 기능을 관리할 수 있어 애플리케이션의 유지보수성, 확장성을 높일 수 있습니다.

'Back End > Spring' 카테고리의 다른 글
Spring Boot 스프링 부트 테스트를 위한 주요 어노테이션 활용 방법 @Test @After @Before (2) | 2023.07.21 |
---|---|
Spring 프로젝트 구조 web.xml, root-context, servlet-context, 프로젝트 환경설정 파일 (0) | 2023.06.28 |
Spring 프로젝트 구조 mvc 프로젝트 폴더 구조, 스프링 동작 순서 (0) | 2023.06.28 |
Spring Java JDK 환경변수 설정시 JAVA_HOME으로 변수를 만드는 이유 (0) | 2023.06.22 |
Spring 스프링 MVC 패턴이란, 모델-뷰-컨트롤러, mvc 구성요소 (0) | 2023.06.22 |