Spring
-
Spring - 스프링 서버 실행 흐름 및 설정 파일/어노테이션 실행 시점Spring 2024. 12. 23. 17:35
스프링 서버 실행 흐름 및 설정 파일/어노테이션 실행 시점1. 스프링 컨테이너 초기화스프링 서버는 애플리케이션 실행 시, SpringApplicationContext를 생성합니다. 이 컨텍스트는 스프링의 모든 빈(Bean)과 설정 파일을 로드하고 관리하는 핵심 역할을 합니다.XML 기반 설정과 Java Config 클래스 모두 이 컨텍스트 초기화 과정에서 로드됩니다.스프링 컨테이너는 ApplicationContext를 기반으로 빈을 등록하고 DI(의존성 주입)를 처리합니다.2. XML 파일과 Java Config 파일 처리 순서(1) XML 파일 처리스프링 컨테이너 초기화 중, 먼저 context-datasource.xml과 같은 XML 파일을 로드합니다.XML 파일은 태그를 통해 정의된 빈을 등록하고..
-
Spring - 다중 데이터베이스 설정하기 (MySQL 스키마별 분리)Spring/전자정부프레임워크 2024. 12. 23. 17:00
Spring 다중 데이터베이스 설정하기 (MySQL 스키마별 분리)Spring과 MyBatis를 이용해 다중 데이터베이스를 연결하고 스키마별로 Config 파일을 설정하는 방법에 대해 정리합니다. 이 글에서는 사용자가 자신의 환경에 맞게 커스터마이징할 수 있도록 {userpath}와 같은 경로를 사용하여 설명합니다. 1. XML 설정 파일 (context-datasource.xml)다중 데이터베이스 연결을 위해 context-datasource.xml 파일에서 각 데이터베이스의 DataSource를 정의합니다. 2. 공통 Confi..
-
Spring - 다중 DB 연결하기Spring/전자정부프레임워크 2024. 12. 23. 15:52
import javax.sql.DataSource;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.annotation.MapperScan;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.ImportResource;import org.springframework.transactio..
-
Spring - 데이터베이스 연결 시 Config파일 파헤치기Spring/전자정부프레임워크 2024. 12. 23. 15:17
1. 데이터베이스 등록 및 연동의 흐름Spring에서는 다음의 흐름을 통해 데이터베이스와 연결하고 이를 통해 SQL을 실행합니다:데이터 소스(DataSource) 설정: 데이터베이스 연결 정보(Driver, URL, 사용자명, 비밀번호 등)를 설정.SqlSessionFactory 생성: MyBatis에서 사용할 SQL 세션을 생성. 데이터 소스를 기반으로 동작.트랜잭션 매니저(Transaction Manager) 등록: 데이터베이스 트랜잭션을 관리.매퍼 스캔 및 매퍼 연결: MyBatis 매퍼 인터페이스와 XML 매퍼 파일을 등록하고 연결.2. 상세 흐름과 어노테이션 설명2.1 데이터 소스 설정데이터 소스는 데이터베이스 연결을 위한 설정입니다. 일반적으로 XML 파일(context-datasource.x..
-
Spring - Config파일을 통하여 DB연결 및 흐름도Spring/전자정부프레임워크 2024. 12. 23. 14:31
1. 흐름 설명 1. context-datasource.xml에서 DataSource 정의:XML 파일에서 데이터베이스별 DataSource 빈을 정의합니다.각 DataSource 빈은 고유한 id를 가집니다. 예를 들어 2. Java Config에서 XML의 빈 사용:Java Config에서 @Qualifier를 통해 XML에서 정의된 DataSource 빈을 참조합니다.예를 들어, mysqlSqlSessionFactory를 생성할 때 mysqlDataSource라는 DataSource 빈을 사용하도록 설정@Bean(name = "mysqlSqlSessionFactory")public SqlSessionFactory mysqlSqlSessionFactor..
-
Spring MVC - <mvc:interceptors> 사용법 및 설명Spring 2024. 12. 12. 14:50
사용법 및 설명 ex: mvc:interceptors 사용방법mvc:interceptors 선언는 dispatcher-servlet.xml 파일에 정의됩니다.요청 경로와 이를 처리할 인터셉터를 매핑합니다.인터셉터 클래스 생성인터셉터 클래스는 HandlerInterceptor 인터페이스를 구현하거나 HandlerInterceptorAdapter를 확장하여 작성합니다.package com.example.interceptor;import javax.servlet.http.HttpServletRequest;import javax.servlet...
-
Vo 와 Dao 차이점 파헤치기Spring 2024. 12. 3. 09:57
1. VO (Value Object)VO의 정의VO는 데이터를 저장하고 전달하기 위해 사용되는 객체입니다.VO는 데이터 캡슐화에 초점이 맞춰져 있으며, 객체를 생성한 후에는 상태가 변경되지 않는 **불변성(immutable)**을 가질 때가 많습니다.VO의 주요 목적애플리케이션 계층 간 데이터 이동.데이터를 구조화하고 재사용성 및 가독성을 향상.데이터를 안전하게 캡슐화하여 직접 접근을 방지.VO의 특징불변성: 일반적으로 생성 후 값이 변경되지 않도록 설계됩니다. 이를 통해 데이터 무결성을 유지할 수 있습니다.비즈니스 로직 없음: 단순히 데이터를 담는 용도로 사용되며, 계산이나 로직이 포함되지 않습니다.**DTO(Data Transfer Object)와 유사: DTO도 계층 간 데이터를 전달하는 역할을 하..
-
초간단 SpringBoot DB데이터 Excel 다운로드Spring 2024. 10. 25. 15:41
DB의 값을 불러와 해당 값드을 Excel다운로드 하는 코드를 작성해보겠다. Entity - 각자의 데이터에 맞도록 설정package com.example.exceltest.entity;import jakarta.persistence.Entity;import jakarta.persistence.GeneratedValue;import jakarta.persistence.GenerationType;import jakarta.persistence.Id;import lombok.Getter;@Getter@Entitypublic class Employees { // Getters and Setters @Id @GeneratedValue(strategy = GenerationType.IDENTIT..