프로그램 설정/Spring

xml 파일 설정 (1월 10일, 11일, 19일, 20일)

효자로 캉테 2022. 1. 11. 12:46

[xml 파일 설정]

 

1. pom.xml 파일 설정

 외부 라이브러리 추가 설정 (Maven Dependencies에서 추가) 

        <!-- ja : 라이브러리 추가 시작 -->

		<!-- ja : 오라클 연동 라이브러리 -->
		<dependency>
		    <groupId>com.oracle.database.jdbc</groupId>
		    <artifactId>ojdbc8</artifactId>
		    <version>21.1.0.0</version>
		</dependency>		


		<!-- ja : html escape 라이브러리 -->
		<dependency>
		    <groupId>org.apache.commons</groupId>
		    <artifactId>commons-text</artifactId>
		    <version>1.9</version>
		</dependency>
		
		
		<!-- Mail 관련 라이브러리 -->
		<dependency>
		    <groupId>org.springframework</groupId>
		    <artifactId>spring-context-support</artifactId>
		    <version>5.0.7.RELEASE</version>
		</dependency>
		
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>mail</artifactId>
			<version>1.4.7</version>
		</dependency>
		
		
		<!-- AOP 관련 라이브러리 추가... -->
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>1.8.8</version>
		</dependency>		
		
		<!-- 업로드용 파일 파서... -->
		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.3.3</version>
		</dependency>		
		
		<!-- json 변환기 -->
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.9.5</version>
		</dependency>		
		
		<!-- Mybatis 관련 라이브러리 추가.. -->
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.4</version>			
		</dependency>
		
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.4.6</version>		
		</dependency>
		
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.3.2</version>					
		</dependency>
	
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
		
        <!-- ja : 라이브러리 추가 끝 -->

 

 

 자바 1.8 버전, springframework-version 5.0.7버전으로 업그레이드

	<properties>
		<!-- ja : 아래 연동을 위한 이클립스 버전 업 -->
		<java-version>1.8</java-version>
		<!-- ja : 아래 스프링 버전 업 -->
		<org.springframework-version>5.0.7.RELEASE</org.springframework-version>
		<org.aspectj-version>1.6.10</org.aspectj-version>
		<org.slf4j-version>1.6.6</org.slf4j-version>
	</properties>

 

 

 자바 1.8 plugin 설정 (pom.xml 설정 후 Maven => Update Project)

               <!-- ja : java 1.8 plugin 설정   -->
                    <source>1.8</source>
                    <target>1.8</target>

 

 

 

2. web.xml 파일 설정

 톰캣 프로젝트 가동 설정 - 문자셋 관련 필터 등록

<!-- 필터 등록... -->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

* DispatcherServlet : 스프링 MVC를 지원하는 서블렛 (서버로 들어오는 모든 요청을 처리하는 Front Contoller)

 

 

 

3. root-context.xml 파일 설정 (※ Namespaces : context 체크)

        <!-- ja : 아래 추가 --> <!-- 추가하기 전에 Namespaces : context 체크 -->
	<context:component-scan base-package="com.ja.finalproject.*.service"></context:component-scan>

 

 

4. servlet-context.xml 파일 설정

        <!-- ja : 아래 바꿀것... -->
	<context:component-scan base-package="com.ja.finalproject.*.controller" />
    
        <!-- ja: 파일 업로드 관련 추가 빈 -->
	<beans:bean id="multipartResolver" 
	class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<beans:property name="maxUploadSize" value="100000000"></beans:property>
	</beans:bean>

 

 


 

 

※ 맵퍼 생성 후 설정

 

[MyBatis] 관련 xml 파일 설정 

MyBatis을 이용해서 DB를 연동하려면 맵퍼라는 인터페이스를 생성하고 그 인터페이스에 맵핑된 xml을 생성해야 함

 

 root-context.xml (스프링 컨테이너, 비즈니스 레이어 설정)    * 설정 전에 Namespaces => mybatis-spring 체크     

        <!-- ja : mybatis 설정... -->
	<!-- DataSource 인스턴스 생성 및 등록 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
		<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
		<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"></property>
		<property name="username" value="scott"></property>
		<property name="password" value="scott"></property>
	</bean>	
	
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"/>
	</bean>

	<mybatis-spring:scan base-package="com.ja.finalproject.*.mapper"/>

 

 

 MemberSQLMapper.xml (mybatis용 태그 설정) 

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

 

 

 pom.xml (오라클 연동 라이브러리 설정)

                <!-- ja : 오라클 연동 라이브러리 -->
		<dependency>
		    <groupId>com.oracle.database.jdbc</groupId>
		    <artifactId>ojdbc8</artifactId>
		    <version>21.1.0.0</version>
		</dependency>

 


 

 

파일 업로드 관련 빈(bean) 추가 (servlet-context.xml)

<!-- ja: 파일 업로드 관련 추가 빈 -->
	<beans:bean id="multipartResolver" 
	class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<beans:property name="maxUploadSize" value="100000000"></beans:property>
	</beans:bean>

 

 

 

파일 업로드 관련 서버 설정 

 1. server.xml 코드 추가

<Context docBase="C:\uploadFolder" path="/upload" reloadable="false"/></Host>

 

 

 2. Web Modules 설정

 

 

 


 

 

메일 관련 인스턴스 추가 (root.xml)

<!-- ja : 메일 관련 인스턴스 추가 -->
	<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
		<property name="host" value="smtp.gmail.com" />
		<property name="port" value="587" />
		<property name="username" value="이메일 아이디" />
		<property name="password" value="이메일 비밀번호" />
		<!-- email 요청시는 SMTP -->
		<property name="javaMailProperties">
		<props>
			<prop key="mail.transport.protocol">smtp</prop>
			<prop key="mail.smtp.auth">true</prop>
			<prop key="mail.smtp.starttls.enable">true</prop>
			<prop key="mail.debug">false</prop>
			<prop key="mail.smtp.ssl.trust">smtp.gmail.com</prop>
			<prop key="mail.smtp.ssl.protocols">TLSv1.2</prop>
		</props>
		</property>
	</bean>