전자정부 프레임워크 공부

Spring, MyBatis 란? [전자정부 프레임워크]

그랜파 개발자 2025. 5. 16. 20:59

Spring, MyBatis 란?

ChatGPT의 말:

Java로 웹 애플리케이션을 개발할 때 자주 사용하는 SpringMyBatis는 각각의 역할이 명확한 프레임워크입니다. 아래에 정리해드릴게요.


✅ Spring Framework란?

SpringJava 기반의 엔터프라이즈 애플리케이션 개발을 위한 오픈소스 프레임워크입니다.

🔹 주요 특징

특징 설명
제어의 역전(IoC) 객체 생성과 의존성 주입을 프레임워크가 담당
관점 지향 프로그래밍(AOP) 로깅, 트랜잭션 등의 공통 기능을 분리
모듈화된 구조 필요한 기능만 선택적으로 사용 가능
Spring MVC 웹 애플리케이션용 MVC 아키텍처 제공
Spring Boot Spring 설정을 자동화해 빠르게 애플리케이션 개발 가능

🔹 구조 예시

[Controller] → [Service] → [Repository] → [DB]
      ↑              ↑              ↑
   Spring이 관리하는 객체들 (DI로 주입)

✅ MyBatis란?

MyBatisSQL을 직접 작성하여 DB와 Java 객체를 연결해주는 ORM(Object Relational Mapping) 프레임워크입니다.

🔹 주요 특징

특징 설명
SQL을 직접 작성 복잡한 쿼리를 자유롭게 제어 가능
Mapper XML SQL을 XML 파일에 정의
간단한 설정 JPA보다 간단하고 가볍게 시작 가능
Result Mapping DB 결과를 Java 객체로 자동 매핑

🔹 예시 코드

▫️ Mapper XML

<select id="selectUser" resultType="User">
  SELECT * FROM users WHERE id = #{id}
</select>

▫️ Java Interface

public interface UserMapper {
    User selectUser(int id);
}

▫️ 호출

User user = userMapper.selectUser(1);

✅ Spring + MyBatis 함께 쓰는 이유

  • Spring이 애플리케이션 구조와 의존성 관리를 담당하고,
  • MyBatis가 데이터베이스 접근을 유연하게 처리합니다.

🔹 조합 예시

[Spring Controller]
   ↓
[Spring Service]
   ↓
[MyBatis Mapper (인터페이스)]
   ↓
[DB]

 

이 조합은 특히 공공기관 시스템, 기업의 백엔드 시스템에서 널리 사용됩니다.