본문 바로가기

Spring

Spring2: root-context.xml

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>