- Spring 외부 설정프로퍼티

가장 많이 사용하는 db.properties 를 예로 설명

1. 우선 확장자 .properties 접속정보 파일 생성

jdbc.driverClassName = oracle.jdbc.OracleDriver
jdbc.url = jdbc:oracle:thin:@localhost:1521:orcl
jdbc.username = scott
jdbc.password = scott

 

2. applicationContext.xml 내에 외부 설정 프로퍼티 사용위한 PropertyPlaceholderConfigurer 클래스 빈 등록

    <!-- Property Configurer -->
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <value>WEB-INF/database.properties</value>
        </property>
    </bean>

 

3. dataSource bean 에 properties 값 등록

    <!-- Data Source -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <!-- JDBC 드라이버 클래스명 설정 -->
        <property name="driverClassName">
            <value>${jdbc.driverClassName}</value>
        </property>
        <!-- JDBC 접속 문자열 설정 -->
        <property name="url">
            <value>${jdbc.url}</value>
        </property>
        <!-- MySQL 유저ID 설정 -->
        <property name="username">
            <value>${jdbc.username}</value>
        </property>
        <!-- MySQL 패스워드 설정 -->
        <property name="password">
            <value>${jdbc.password}</value>
        </property>
    </bean>


4. 한개 이상의 프로퍼티 파일을 지정하려면 <list> 태그를 이용하여 프로퍼티 목록을 지정해 주면된다.

    <!-- Property Configurer -->
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
          <list>
             <value>WEB-INF/database.properties</value>
             <value>WEB-INF/monitor.properties</value>
          </list>
        </property>
    </bean>

 

※ bean "dataSource" 생성 중 class org.apache.commons.dbcp.BasicDataSource 이용에 필요한 jar 파일

commons-dbcp-1.4.jar

commons-pool-1.6.jar

 

 

- web.xml 의 ContentLoaderListener

스프링에 대해 아무것 도 모르는 사람이 봐도 이해가 되도록 하자. 난 천재가 아니니깐

스프링 설정 방법 중 web.xml 에 Spring DispatcherServlet 를 서블릿 클래스로 등록 하고

예)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>spring_Item</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
 
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>springItem</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>springItem</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
</web-app>

 

<servlet-name> 에 입력한 값-servlet,xml(springItem-servlet.xml) 에 웹 계층, 비지니스 로직 계층 모두 선언을 해서 사용을 하지만 이렇게 하면 파일 한개로 관리가 가능은 하지만, 보기에도 수정하기에도 마니 힘들다.

그래서 웹계층 / 비지니스로직 계층 설정 파일을 분리해서 관리를 한다.

그렇게 하려면 web.xml 에 <listener></listener> 을 등록 해주어야 한다.

      <listener>
        <listener-class>

org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

※ 위의 설정 기본 설정파일 /WEB-INF/applicationContext.xml 이다.

 

혹시나 이거 외에 더 등록을 해야 한다거나, 명칭을 바꾸려면

<context-param>

                 <param-name> contextConfigLocation </param-name>

                 <param-value>

                            /WEB-INF/applicationContext.xml ,

                       /WEB-INF/applicationContext-acegi-security.xml ,

                       /WEB-INF/applicationContext-common-authorization.xml,

                       /WEB-INF/applicationContext-acegi-security-memory.xml

                 </param-value>

       </context-param>

이라고 web.xml 에 등록을 해주어야 한다.

-주키 테이블 생성시 선언-
create table 테이블명
(
empno varchar2(4),
jumin varchar2(10),
constraint pk_테이블명 primary key(empno)
);

 

 

-테이블생성후 주키선언-
alter table 테이블명
add constraint pk_테이블명 primary key(empno);

 

 

-외래키 테이블생성시 선언-
create table 테이블명
(
empno varchar2(4),
jumin varchar2(10),
constraint fk_테이블명 foreign key(empno)
reference 참조테이블명(empno)
[on delete cascade] //부모를삭제하면 자식까지 삭제
);

 

 

-테이블생성후 외래키선언-
alter table 테이블명
add constraint fk_테이블명 foreign key(empno)
reference 참조테이블명(empno);

'공부 > ORACLE_SQL' 카테고리의 다른 글

ORACLE_[ 집계함수(Aggregate function) ]  (0) 2013.05.20
ORACLE_[ OUTER JOIN ]  (0) 2013.05.20
ORACLE_[ JOIN ]  (2) 2013.05.20
ORACLE_[CASE문 사용법]  (0) 2012.10.05
ORACLE_[DECODE문_사용법]  (0) 2012.10.05

+ Recent posts