의문점 공부하기/🧾공부하며

🧾스프링

아리빠 2023. 12. 8. 15:31

스프링은 자바 기반의 엔터프라이즈급 애플리케이션을 개발하기 위한 종합적인 프레임워크입니다.

스프링은 모듈화가 잘 되어 있어 필요한 모듈만 선택하여 사용할 수 있습니다. 주요 모듈에는 Spring MVC(웹 애플리케이션 개발), Spring ORM(객체 관계 매핑), Spring JDBC(데이터베이스 액세스), Spring AOP(관점 지향 프로그래밍) 등이 있습니다.

설정이 XML 기반이며, 개발자가 많은 구성을 수동으로 처리해야 합니다.

 

 

Spring MVC (웹 애플리케이션 개발):

목적: 웹 애플리케이션을 개발하기 위한 모듈입니다.

특징: MVC 아키텍처를 기반으로 한다. 모델(Model), (View), 컨트롤러(Controller)의 분리를 통해 애플리케이션을 구조화한다. 모델은 데이터를 나타내고, 뷰는 사용자 인터페이스를 나타내며, 컨트롤러는 요청을 처리하고 응답을 관리한다. Spring MVC는 유연한 URL 매핑, 데이터 바인딩, 검증, 템플릿 엔진과의 통합 등 다양한 기능을 제공한다.

 

 

Spring ORM (객체 관계 매핑):

목적: 객체와 데이터베이스 간의 매핑을 간단하게 처리하기 위한 모듈입니다.

특징: 주로 Hibernate, JPA(Java Persistence API), MyBatis 등과 같은 ORM 프레임워크와 통합되어 사용된다. 객체 지향 언어인 자바의 객체와 관계형 데이터베이스 간의 불일치를 해소하고, 데이터베이스와의 상호작용을 쉽게 처리할 수 있도록 지원한다.

 

Spring JDBC (데이터베이스 액세스):

목적: 데이터베이스와의 간단한 JDBC(Java Database Connectivity) 액세스를 지원하는 모듈입니다.

특징: JDBC 코드를 보다 간결하게 작성할 수 있도록 도와주며, 예외처리 및 리소스 관리 등을 자동으로 처리한다. 데이터베이스와의 연결, SQL 실행, 결과 처리 등을 추상화하고, 트랜잭션 관리와 예외처리를 지원한다.

 

Spring AOP (관점 지향 프로그래밍):

목적: 관점 지향 프로그래밍을 지원하는 모듈입니다.

특징: 횡단 관심 사항(Cross-cutting Concerns)을 분리하여 모듈화하고, 코드의 재사용성과 유지보수성을 향상시키는 데 목적이 있다. 주요 개념으로는 어드바이스(Advice), 포인트컷(Pointcut), 애스펙트(Aspect) 등이 있으며, 특정 메서드 실행 전이나 후에 코드를 삽입하거나, 예외를 처리하는 등의 작업을 수행할 수 있다. AOP는 주로 로깅, 트랜잭션 관리, 보안 등에서 활용된다.

 

'의문점 공부하기 > 🧾공부하며' 카테고리의 다른 글

🧾면접 최종 정리(Java, Spring, DB, OS, 네트워크, 자료구조)  (0) 2023.12.12
🧾리액트 정리  (0) 2023.12.08
면접대비 java  (0) 2023.12.06
🧾 HTTP VS HTTPS  (0) 2023.12.04
🧾면접 대비  (0) 2023.12.02