JAVA 언어 기반, 웹 프레임워크
다양한 어플리케이션을 만들기 위한 프로그래밍 틀이라 할 수 있습니다..
JAVA를 이용한 기술은 JSP, MyBatis, JPA 등 여러가지가 있습니다.
Spring Framework은 이 기술들을 더 편하게 사용하기 위해 만들어진 것 입니다.
결론적으로 Spring Framework이란 JAVA 기술들을 더 쉽게 사용할 수 있게 해주는 오픈소스 프레임 워크이다.
HTML 코드에 JAVA 코드를 넣어 동적 웹 페이지를 생성하는 웹어플리케이션 도구입니다.
어떠한 목적을 달성하기 위해 복잡하게 얽혀 있는 문제를 해결하기 위한 구조이자 약속이며, 소프트웨어 개발에 있어서 하나의 뼈대 역할을 한다.
더 간단히 말하자면 프레임 워크는 자주 쓰일 만한 기능들을 한데 모아 놓은 유틸(클래스)들의 모음(집합)이라고 정의할 수 있다.
EX) Spring, Node.js
ORM Framework 입니다.
Mybatis는 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원합니다.
ORM : 일반 적으로 알고 있는 애플리케이션 Class와 RDB(Relational DataBase)의 테이블을 매핑(연결)한다는 뜻
자바 진영에서 ORM 기술 표준으로 사용되는 인터페이스의 모음입니다. 즉, 실제적으로 구현된것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크
개발자는 JAVA 코딩시 new 연산자, 인터페이스 호출, 데이터 클래스 호출 방식으로 객체를 생성하고 소멸시킨다. 인스턴스 (객체)의 생성부터 소멸까지 객체 생명주기 관리를 개발자가 하는게 아닌 스피링(컨테이너)가 대신 해주는 것을 말한다.
구성요소 간의 의존 관계를 외부의 설정파일을 통해 정의합니다.
공통 모듈을 분리시켜 해당 소스코드가 외부의 다른 클래스에서 존재하는 것 입니다.
Java EE를 사용할 때에 비해 인터페이스를 직접 구현하거나 상속받을 필요가 없어 기존 라이브러리를 지원하기 용이하고, 객체가 가볍습니다.
getter/setter를 가진 단순한 자바 오브젝트
스프링을 사용한다면 이미 신뢰성 있는 라이브러리와 풍부한 레퍼렌스와 함께 사용 할 수 있어서 개발 생산성이 급격히 증가합니다.
스프링은 자바 기술을 좀 더 쉽고 효율적으로 쓰기 위한 하나의 프레임워크입니다.
그 특징으로는 IoC, POJO, DI, AOP가 있으며 이 특징들은 Java 개발 생산성을 높혀줍니다.
스프링은 기존 기술의 복잡성을 크게 줄인 프레임워크이지만, 그럼에도 불구하고 스프링을 사용하기 위해서는 여러 가지의 사항들을 설정해주어야 합니다.
스프링 부트는 스프링으로 애플리케이션을 만들 때에 필요한 설정을 간편하게 처리해주는 별도의 프레임워크입니다.
스프링 프레임워크의 경우 디펜던시를 설정해줄 때 설정 파일이 매우 깁니다
모든 디펜던시에 대해 버전 관리도 하나하나 해줘야 합니다.
스프링 부트 프레임워크의 경우 디펜던시를 스프링 프레임워크 보다 쉽게 설정해 줄 수 있습니다. 버전 관리도 자동으로 해줍니다.
스프링 프레임워크의 경우 컨피그레이션 설정을 할 때도 매우 깁니다.
모든 어노테이션 및 빈 등록 등을 설정해 줘야 합니다.
스프링 부트 프레임워크는 application.properties 파일이나 application.yml파일에 설정하면 됩니다.
스프링 프레임워크로 개발한 애플리케이션의 경우, war파일을 Web Application Server에 담아 배포했습니다.
스프링 부트 프레임워크의 경우, Tomcat 이나 Jetty 같은 내장 WAS를 가지고 있기 때문에 jar 파일로 간편하게 배포할 수 있습니다.
https://jerryjerryjerry.tistory.com/62
https://dbjh.tistory.com/77
https://javacpro.tistory.com/43
https://inpa.tistory.com/entry
https://joychae.tistory.com/27
https://programforlife.tistory.com/68