root-context.xml
모든 web 구성요소가 볼 수 있는 공통 자원 정의
서버 구동과 동시에 web.xml파일을 거쳐서 바로 로딩되는 문서 == preloading
=> 서버구동과 동시에 바로 셋팅(bean등록)해야 하는 내용 작성
DB정보, 트랜잭션 처리, 내외부 모듈연결 등
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">
<!--DB연결 설정 3단계 -->
<!-- 1단계. DB연결을 위한 도구 설정 -->
<!-- xml로 등록하기 -->
<bean class="org.apache.commons.dbcp.BasicDataSource" id="dataSource" destroy-method="close">
<!-- 풀클래스명 등록 -->
<!-- 어떤 DB에 접속할것인지 -->
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
<property name="username" value="SPRING"/>
<property name="password" value="SPRING"/>
</bean>
<!--
객체 필요시마다 내부적으로 실행되는 코드
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
dataSource.setUrl("jdbc:oracle:thin:@localhost.1521.xe");
dataSource.setUserName("SPRING");
dataSource.setPassWord("spring");:
-->
<!-- 2단계. MyBatis Spring에서 제공하는 SQL명령어 실행을 위한 도구 -->
<bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactory">
<!-- MyBatis 설정파일의 위치를 설정(src/main/resources)하여 설정값 가져오기 -->
<!-- resources폴더를 의미하는 폴더가 있음 -> classpath -->
<property name="configLocation" value="classpath:mybatis-config.xml"/>
<!-- 어떤 db에 연결할것인지 연결을 위한 도구 참조 설정 -->
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 객체가 필요할 때 마다 내부적으로 실행되는 코드
SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean();
sqlSessionFactory.setConfigLocation("classpath:mybatis-config.xml");
sqlSessionFactory.selectDataSource(dataSource);
-->
<!-- 3단계 . SqlSessionTemplate이 SqlSession의 역할을 대신함
SQL구문 실행을 위한 템플릿을 제공하는 도구 등록
sqlTempplate을 만들려면ㄷ factoryBean이 필요함
생성자 인자값으로 전달
-->
<bean class="org.mybatis.spring.SqlSessionTemplate" id="sqlSession">
<!-- sql명령어 실행을 위한 도구에 대한 참조를 설정 -->
<constructor-arg ref="sqlSessionFactory"/>
</bean>
<!-- 객체가 필요할 때마다 내부적으로 하단 코드 실행
SqlSessionTemplate sqlSession = new SqlSessionTemplate(sqlSessionFactory);
-->
<!--
property: setter 주입
constructor-arg: 생성자 주입Q
-->
<!-- 파일 업로드 관련 빈 등록 -->
<bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver" id="multipartResolver">
<property name="maxUploadSize" value="100000000"/>
<property name="maxInMemorySize" value="100000000"/>
</bean>
</beans>
'Spring' 카테고리의 다른 글
MVC (Model-View-Controller) 패턴 (0) | 2023.03.29 |
---|---|
Spring MVC프로젝트의 폴더 구조 (0) | 2023.03.28 |
Spring - Context Hierarchy (0) | 2022.12.29 |
Spring 1 : web.xml (배포서술자 /Deployment Descriptor) (0) | 2022.12.29 |
Web.xml/ JSP Mapping / contextPath/ contextRoot (0) | 2022.12.21 |