TIL(Today I Learned)

Day.27 자바 진영의 스프링

지팡구 2022. 12. 6. 11:32

스프링은 자바진영의 웹 어플리케이션 제작 지원을 도와주는 프레임워크다.

 

과거에 스프링을 공부하고 써본적이 있어서 금일 진행한 내용이 어렵게 느껴지진 않았다.

 

과거에는 서블릿이나 jsp 이런 기술들을 사용해서 웹을 제작하고 배포했었더라면 

 

스프링은 그 기술들을 확장적용시켜 어노테이션 기반의 기술이 탄생했고, 그 외에도 스프링에서 내부적으로 지원해주는

 

라이브러리와 프레임워크들이 많아서 편리하게 웹을 개발하고 디자인 할 수 있다.

 

Spring MVC를 통해 모델과 뷰, 컨트롤러들을 분리시켜 편리하고 확장성있게 개발이 가능하다는 장점이 있다.

 

사용자는 Controller를 조작해서 model을 통해 데이터를 가지고 오고, 그 정보를 바탕으로 시각적 표현을 담당하는 view를 제어해 사용자에게 정보를 전달한다. 

 

스프링에서는 JPA라는 것이 있는데, ORM과 관련이 있다.

 

ORM ? ( Object-Relational Mapping) - 객체와 관계형 데이터베이스 매핑, 객체와 DB의 테이블이 매핑을 이루는 것

- 객체가 테이블이 되도록 매핑시켜주는 프레임워크(Framework)

- 프로그램의 복잡도를 줄이고 자바 객체와 쿼리를 분리할 수 있으며 트랜잭션 처리나 기타 데이터베이스 관련 작업들을 좀 더 편리하게 처리할 수 있는 방법

- SQL Query가 아닌 직관적인 코드(메서드)로서 데이터를 조작할 수있음

 

JPA는 Java Persistence API의 줄인 말로, 앞서 설명한 ORM을 설명하기 위한 인터페이스를 모아둔 것으로 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스다.

 

이 JPA를 통해 스프링에서는 더욱 편리하게 데이터베이스와 연관된 작업을 진행할 수 있다는 장점이 있다.

 

오늘 이렇게 간단하게 Spring에 대해 학습한 시간을 가지게 되었다.