개발자가 소프트웨어를 개발함에 있어 코드를 구현하는 개발 시간을 줄이고 코드의 재사용성을 증가 시킬 목적으로 일련의 클래스 묶음이나 뼈대, 틀을 제공하는 라이브러리를 구현해 놓은 것.
장점
| 구분 | 설명 | 종류 |
|---|---|---|
| 영속성 Framework | 데이터의 저장, 조회, 변경, 삭제를 다루는 클래스 및 설정 파일을 라이브러리화 하여 구현한 프레임워크 | Mybatis, Hibernate |
| 자바 Framework | Java EE를 통한 웹 어플리케이션 개발에 초점을 맞추어, 필요한 요소들을 모듈화 하여 제공하는 프레임워크 | Spring Framework, 전자정부표준, Spring, Struts |
| 화면 구현 Framework | Front-End를 보다 쉽게 구현할 수 있도록 틀을 제공하는 프레임워크 | Bootstrap, Foundation, MDL |
| 기능 및 지원 Framework | 특정 기능이나 업무 수행에 도움을 줄 수 있는 기능을 제공하는 프레임워크 | Log4j, JUnit 5, ANT |

DAO :
MyBatis 동작구조

싱글톤 패턴 : 특정 클래스의 인스턴스가 오직 하나만 생성되도록 보장하는 생성 디자인 패턴
Properties 객체 : 키와 값을 String으로 관리하는 객체
SqlSessionFactoryBuilder() :구현체
.builder(인자로 설정값)
jdbc는 db 연결에서부터 쿼리 실행 트랜잭션 관리까지 다 지원하는 라이브러리