#Spring boot 란?
자바 기반의 웹 어플리케이션을 만드는 프레임워크인 스프링은 추웠던 자바 기반 개발에 따뜻한 봄을 가져왔습니다. 허나, 개발 설정 세팅에서 장벽이 높아서 많은 이들이 쉽게 다가가기 어려웠습니다. 그런 스프링의 단점을 타파해준 것이 스프링부트였고, 이를 이용하여 스프링 프로젝트를 쉽게 설정할 수 있습니다.
스프링부트의 장점으로는 앞서 이야기하듯 개발설정을
쉽게 잡아준다는 것이지만 자세히 따지면
1) 라이브러리 관리의 자동화
2) 라이브러리 버전 자동 관리
3) 설정의 자동화
4) 내장 Tomcat
5) 독립적으로 실행 가능한 JAR이다. 로 나누어 볼 수 있습니다.
# JPA/MYBATIS/하이버네이트
JPA,MYBATIS,하이버네이트(hibernate)는 영속성프레임워크(Persistence Framework)입니다. 영속성이란 데이터를 생성한 프로그램이 종료하더라도 데이터가 사라지지 않는 속성을 이야기를 하는데, 이는 SQL-Mapper와 ORM으로 나뉘게 된다.
MYBATIS는 SQL-Mapper 프레임워크이며, SQL-Mapper는 SQL문장으로 DB의 데이터를 다룬다.
SQL문장을 잘 알고 있다면 편리한 프레임워크이지만, DBMS을 변경했을시, SQL문의 재사용이 어렵기에 하나의 DBMS만을 갖고 사용해야한다. 곧 이는 DBMS에 종속적이라는 특징도 갖는다.
ORM인 JPA와 하이버네이트(Hibernate)는 같이 묶이는데 JPA(Java Persistence API)라는 인터페이스를 통해서 실제로 구현을 하는 게 하이버네이트이다.
ORM(Object Relational Mapping)은 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑하는 프레임워크이다. 이는 SQL-Mapper와 같이 SQL쿼리가 아닌 직관적인 메서드쿼리로 데이터를 다룬다. 즉 객체간의 관계를 바탕으로 SQL을 자동 생성하여 메서드로 이를 조작하도록 한다.
#VUE.js
Vue.js는 웹페이지 화면을 개발하기위한 자바스크립트 프레임워크이다. Vue.js는 다른 프레임워크인 Angular와 React보다 가볍고 빠르다는 장점을 갖고 있다. 그리고 다른 프레임워크에 비해 입문하기 쉬운 것도 있습니다.
특징으로는 가상DOM을 사용한다는 것입니다.
웹페이지(document)를 객체로 표현한 DOM을 가상화 시킨 것으로 변화가 많은 View를 실제 DOM에서 처리하는 것이 아니라 가상DOM과 메모리에서 미리 처리하고 저장한 후, 실제 DOM과 동기화하는 방식입니다.
이는 많은 일을 처리하다 버그가 발생하거나 브라우저가 죽을 수 있는 DOM의 문제점을 해결합니다.
Angular | React | Vue | |
사용하는 곳 | Google, 삼성, MS등 | Facebook,인스타그램, 테슬라등 |
Adobe, 샤오미, 닌텐도등 |
난이도 | 어려움 (타입스크립트도 알아야한다.) |
보통 | 쉽다 (자바스크립트의 스타일을 적용함) |
코딩 속도 | 느림 | 보통 | 빠름 |
크기 | 큼 | 보통 | 작음 |
DOM | 실제DOM사용 | 가상DOM사용 | 가상DOM사용 |
주사용처 | 많은 개발자들간의 협업이 가능한 대규모 프로젝트 |
개발자들간의 협업이 가능한 중간규모의 프로젝트 |
적은 인원이 참여하는 소규모 프로젝트 |
출처:
https://elevatingcodingclub.tistory.com/25
https://gmlwjd9405.github.io/2018/12/25/difference-jdbc-jpa-mybatis.html
https://xlffm3.github.io/spring%20data/orm-sqlmapper-jdbc/#41-%EC%83%81%EC%86%8D- %EB%AC%B8%EC%A0%9C
https://s-core.co.kr/insight/view/%EC%9B%B9-%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EB%AC%B4%EC%97%87%EC%9D%84-%EC%93%B8%EA%B9%8C/
'Coding story > go Spring,JSP' 카테고리의 다른 글
#Spring(2) - 스프링MVC프로젝트의 구조, pom.xml (0) | 2022.01.27 |
---|---|
#Spring(1) - STS 설치 및 MVC프로젝트 생성 (0) | 2022.01.27 |
(개념정리) 스프링 삼각형 (Java Spring Triangle) (0) | 2022.01.25 |
dbcp와 jdbc #2 - 사용과 비교 (0) | 2022.01.22 |
dbcp와 jdbc #1 - 개념과 설치 (0) | 2022.01.22 |
최근댓글