HongCat 개발 스토리

1. 프레임워크란? 본문

FrameWork

1. 프레임워크란?

홍캣 2019. 12. 2. 18:47

2019.12.02

1. 프레임워크

Framework란, 개발자가 소프트웨어를 개발함에 있어 코드를 구현하는 개발 시간을 줄이고, 코드의 재사용성을 증가시키기 위해 일련의 클래스 묶음이나 뼈대, 틀을 제공하는 라이브러리를 구현해 놓은 것.
->정리되지 않은 코드를 강제화 시켜서 미디어, 스크립트, css별로 나눌 수 있다.

 

2. 프레임워크의 특징

  • 개발자가 따라야 하는 가이드를 제공한다.
  • 개발할 수 있는 범위가 정해져 있다.
  • 개발자를 위한 다양한 도구, 플러그인을 지원한다.

 

3. 장점

  • 개발 시간을 줄일 수 있음
  • 정형화 되어 있어 일정 수준 이상의 품질을 기대할 수 있음
  • 유지보수가 쉬움

4. 단점

  • 너무 의존하는 경우 개발자들의 능력이 떨어져서 스스로 직접 개발하는 것이 어려워짐
  • 습득에 걸리는 시간이 필요함

5. 프레임워크의 종류

종류 설명 예시
영속성 프레임워크 데이터의 저장, 조회, 변경,삭제를 다루는 클래스 및 설정 파일들을 라이브러리화 하여 구현한 프레임워크  mybatis, Hibernate
자바 프레임워크 JAVA EE를 통한 웹 어플리케이션 개발에 초점을 맞추어 필요한 요소들을 모듈화하여 제공하는 프레임 워크 spring, 전자정부 표준,struts
화면 구현 프레임워크 front-end보다 쉽게 구현할 수 있게 틀을 제공하는 프레임워크 bootstrap, foundation, MDL
기능 및 지원 프레임워크 특정 기능이나 업무 수행에 도움을  줄 수 있는 기능을 제공하는 프레임워크 Log4j, JUnit5

6. Mybaits

데이터의 입력, 조회, 수정, 삭제(CRUD)를 보다 편하게 사용하기 위해 xml로 구조화한 Mapper설정 파일을 통해서JDBC를 구현한 영속성 프레임워크

 

controller -> service -> dao -> Database

                           -> Mybatis 설정파일(dao에서 처리하던 것을 Mybatis 설정파일에서 처리한다)

7.  Ibatis와 Mybatis

  • Apache Project에서 ibatis를 운영하던 팀이2010년 5월 9일에 Google팀으로 이동하면서 Mybatis로 이름을 바꾸었다. 
  • Mybatis는 기존의 ibatis의 한계점이었던 동적 쿼리와 어노테이션 처리를 보강하여 더 나은 기능을 제공하고 있다.
  • Ibatis는 현재 비활성화 상태이며, 기존에 ibatis로 만들어진 애플리케이션의 지원을 위해 라이브러리만 제공하고 있다.  

Mybatis라이브러리 다운

mybatis-3.4.6.jar
1.55MB

8. Mybatis에서 사용하는xml파일

mybatis-config.xml

  • Mybatis를 이용하기 위한 설정들이 저장 되어있는 파일 
  • xml파일 상단에 mybatis-config파일이 라는 선언문을 선언하여 사용한다

mapper.xml

  • 실제 Database에서 수행 할 query문들을 저장하는 파일
  • xml파일 상단에  mybatis-mapper파일이라는 선언문을 선언하여 사용한다

9. Mybatis-config.xml사용 태그

태그명 설명 예시
<configuration> 최상위 태그로 내부에 필요한 설정들을 작성 <configuration>.....</configuration>
<setting> Mybatis구동 시 선언할 설정들을 작성 null값이 발생할 경우 빈칸이 아닌 null로 인식하라
<typeAliases> Mybatis에서 사용할 자료형의 별칭을 선언 <typeAliases> type에는 패키지 명까지 전부 기술해주어야 한다.
</typeAliases>
<mappers> 사용하고자 하는 쿼리가 정의된 mapper파일을 등록한다. <mappers></mappers>
<environments> Mybatis 에서 연동할 Database정보를 등록(JDBCTemplate에서 했던 코드들)

<environments default="development">

environment id를 구분하여 연결한 DB를 여러 개 구성할 수 도 있다.

</environments>

<transactionManager> -트랜잭션 관리를 누가 할 것인가에 대한 설정
-JDBC:JDBC commit과 rollback을 처리하기 위해 connection을 가지고 온다.(직접 처리)
-MANAGED:commit과 rollback을 하지 않고, 대신 컨테이너가 트랜잭션을 관리하고 커넥션을 닫아주는 설정
 
<dataSource> - 데이터 베이스 연결을 관리하는 설정
-POOLED:Connection객체를 pool영역에 저장해 두고 이후 Connection객체를 생성할 때 이를 재사용한다.
-UNPOOLED:Connection객체를 별도로 저장하지 않고, 객체 호출 시 매번 새로 생성하여 사용
 

 

'FrameWork' 카테고리의 다른 글

4. Bean 등록 Annotaion  (0) 2019.12.06
Maven 사용을 위한 이클립스 환경설정  (0) 2019.12.05
3.Spring과 Maven  (0) 2019.12.05
동적쿼리 if문을 이용한 회원정보 조회  (3) 2019.12.04
2. Mybatis 동적쿼리  (0) 2019.12.04
Comments