[Spring][국비교육] Day 85

Ga02·2023년 5월 2일

국비교육

목록 보기
73/82

🔍 프레임 워크, Framework

프로그램을 개발하기 위한 여러 요소들(클래스 + 인터페이스 등) ➡API, Library 과 프로그램 개발 절차(규칙)를 제공하는 것

➰ 라이브러리 VS 프레임워크

라이브러리는 API들의 모음

  • 라이브러리와는 달리 프레임워크는 API들의 사용 절차(개발 절차)까지 포함하는 경우가 많음
  • 라이브러리는 응용 프로그램의 흐름을 코드로 개발자가 직접 제어
  • 프레임워크는 프레임워크에 의해서 프로그램의 흐름이 제어됨
  • 프로그램 코드는 라이브러리(API)를 직접 호출함
  • 프레임워크는 프레임워크에 의해 프로그램 코드를 가져가서 실행되도록 함
  • 라이브러리만 이용한 응용프로그램은 실행 흐름을 개발자가 직접 제어함
  • 프레임워크를 이용한 응용프로그램은 프레임워크가 실핼 흐름을 제어함
    👉🏻 프로그램 흐름 제어의 역전 / Inversion of Control / IoC

🔍 우리가 배울 프레임워크

➰ 스프링 프레임워크, Spring Framework

MVC 패턴을 이용한 Java 객체지향 프로그램 개발을 위한 프레임워크

  • Java Web Application 개발에 많이 사용됨

➰ 마이바티스 프레임워크, MyBatis Framework

퍼시스턴스 계층 프레임워크(Persistance Layer)
Persistence : 영속성, 특정 상태가 꾸준히 유지되는 속성
Persistence Layer : 데이터 저장소, 데이터베이스 계층

  • JDBD 관련 개발을 편하게 만들어줌
  • JDBC 프레임웤, 데이터베이스 관리 프레임워크라고 표현하기도 함
    👉🏻 DAO 구현, JDBCTemplate클래스의 역할을 담당

🔍 STS, Spring Tool Suite

스프링 프레임워크로 프로그램을 개발하기 위해 만들어진 IDE 도구
Spring Framework(Java 언어) - STS Tool(Java 프로그램 개발 도구)

➰ STS 설치 방법

  1. 이클립스 EE에 플러그인 형태의 STS Tool을 추가 설치하기 ➡ 각각 업데이트 등에 의해 버전이 달라질 수 있으므로 유의해야 함
  2. STS Tool을 다운받아 한번에 설치하기 ➡ 이클립스가 포함되어있으므로 결국 이클립스를 다운받는 것과 같음 ✔ 우리는 이 방식

➰ STS Tools 3 설치하기


🔍 MyBatis

➰ 장점

  • JDBC의 동작 코드를 캡슐화하여 제공
    (DB Connection ➡ PreparedStatetment ➡ 쿼리 수행 ➡ ResultSet ➡ close)
  • SQL 코드를 프로그램 코드와 분리해서 관리할 수 있음
    ✔ iBatis는 MyBatis의 예전 이름 ➡ JDK 1.4 이전

➰ 마이바티스 설정

  1. 프로젝트 생성
    Project Name :

  2. 필요 라이브러리 설치
    mybatis-x.x.x.jar
    ojdbcx.jaar

  3. 마이바티스 설정 파일 작성(XML 파일 작성)
    src/main/java/mybatis/mybatis-config.xml 파일 생성
    마이바티스의 DB 접속 설정을 적어두는 XML 파일
    유저가이드 문서에서 복사하고 수정함

  4. 마이바티스 Connection Factory 클래스 작성하기
    마이바티스를 이용한 DB 연결 객체를 생성하는 클래스
    싱글톤을 적용
    SqlSessionFactory 클래스의 인스턴스를 싱글톤으로 생성하고 관리
    ✔ SqlSession 클래스
    SQL 쿼리를 수행하는 객체
    마이바티스를 실행하는 객체
    ✔ SqlSessionFactory 클래스
    설정 항목을 적용하여 SqlSession객체를 생성하는 객체
    ✔ SqlSessionFactoryBuilder 클래스
    설정 파일을 읽어들여 SqlSessionFactory 객체에 설정 항목을 적용하는 객체

  5. DAO 파일 작성(interface)
    마이바티스 프레임워크와 자바 프로그램을 연결시킴

  6. Mapper 파일 작성( XML 파일)
    마이바티스에 적용할 SQL 쿼리를 저장해놓는 XML 파일임

  7. DTO 파일 작성(class)
    테이브르이 데이터를 전달하거나 전달받을 때 사용할 객체

  8. Controller 파일 작성(실행 클래스, main())
    SqlSession 객체가 필요
    SqlSessionFactory클래스를 이용하여 SqlSession 객체를 생성
    SqlSession를 이용하여 DB 쿼리를 수행할 수 있음
    마이바티스 프레임워크를 실행시킬 수 있음

profile
IT꿈나무 댓츠미

0개의 댓글