마이바티스(MyBatis) 개요 마이바티스(Mybatis)는 2001년 클린턴 비긴이 만든 아이바티스(ibatis) 프로젝트의 3.0에서 포크된 프로젝트로 아파치 라이센스(Apache License) 2.0에 따라 배포되는 무료 소프트웨어[1]이다. MyBatis(ibatis 포함)의 특징은 기존 ORM 프레임워크와 달리 Java 개체를 데이터베이스 테이블에 매핑하지 않고, Java 메소드를 SQL에 매핑한다[2]. 그러다보니 자바 소스는 매우 간결해지고, 핵심은 SQL문을 포함한 XML 코드에 모두 포함이 되어 있다. 국내의 대형 SI들과 함께 단체로 개발을 할 때, Mybatis를 사용하는 가장 큰 이유는 바로 SQL문이 독립되어 유지보수가 편리해지고, 개발자 수준별로 코드를 분리할 수 있기가 용이하..
Spring boot에서 가장 기본적으로 jdbc를 다룰 수 있는 jdbcTemplate에 대한 설정에 대해서 가볍게 설명해보도록 하겠습니다. 포스팅의 내용은 maven을 기준으로 작성하였고, DB는 MySQL 기준인 것을 참고하시면 되겠습니다. Spring boot 설정 Pom.xml org.springframework.boot spring-boot-starter-jdbc mysql mysql-connector-java spring-boot-starter-jdbc는 jdbcTemplate를 위함이며, mysql-connector-java는 mysql를 기반으로 connection을 하기 위함입니다. application.properties ## MySQL spring.datasource.url=jdbc..
전자정부프레임워크(eGovFramework)가 등장하게 전(약 10년전)의 우리나라 SI는 그야말로 삼국지와 춘추전국시대를 합친 난장판같은 모습이었다. 필자는 당시 솔루션 회사를 다니면서 SI를 수행하였는데 한달에 하나꼴로 프레임워크를 새로 공부했던 것으로 기억한다. 수많은 업체들이 자체 프레임워크를 만들고 있었고, 회사에는 프레임워크팀까지 별도로 있을 정도였다. 매번 300~400페이지 가까이 되는 독자적인 프레임워크를 매뉴얼로 봐가며 익혀야 했고 이놈의 프레임워크는 버전 업을 할때마다 개발자들을 괴롭혔다. (갑자기 잘 만들어진 소스가 버전업으로 인해서 안 돌아갔으니...) 당시 프레임워크는 스트럿츠(Struts) 1 혹은 2, 그리고 스프링(Spring) 2.x 등에서 필요한 부분만 빼와서 독자적인 ..
AOP(관점지향프로그래밍, Aspect Oriented Programming)는 스프링 프레임워크(Spring Framework)을 써야만 되는 이유중 하나로, 대규모 프로그래밍을 매우 강력하게 만들어 줍니다. 관점지향 프로그램을 이해하기에 앞서 우리는 OOP(객체지향 프로그래밍, Object Oriented Programming)에 대해서 먼저 선 이해를 해야 합니다. 프로그램은 소프트웨어 위기를 겪게 되면서, 패러다임이 유지보수를 편하게 할 수 있는 쪽으로 전환을 시작하게 됩니다. 그러면서 객체지향 프로그램이 나오게 됩니다. 즉 소스가 소스끼리 얽히고 설키는 것이 아니라 소스 하나하나를 재활용할 수 있게 만들어서 조립하는 방식으로 만드는 것이죠. 대표적인 언어가 자바(Java) 입니다. 하지만 일반적..
시스템 아키텍처 문서를 작성하면서, 전자정부 프레임워크에 대해서도 문서를 작성하게 되었다.(고객의 교육 요청) 해당 문서는 전자정부프레임워크 사이트http://www.egovframe.go.kr를 참조하여 만들었으며, 거의 내용이 동일하다. 1.1. 전자정부 표준프레임워크 아키텍처전자정부표준프레임워크는 전자정부법 및 관련 법률을 근거하여 구축되었으며 본 프로젝트는 표준프레임워크 및 프레임워크가 제공하는 기술기반을(기술적용계획표) 따른다. 전자정보 표준프레임워크 각 구성요소 기능 및 역할은 아래와 같다. 1.2. 전자정부 표준프레임워크의 주요 특징 실행환경 경량화 : 하나의 파일로 일괄 배포 및 설치되던 실행환경을 필수적 부분과 선택적 부분으로 나누어 배포하여 각 사업에 적합한 최적의 실행환경 구성- 실행..