- 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

- 날짜 약자 

학창시절 공부를 안하니... 별게 다 신경 쓰게 하는구나... 휴

January-> Jan 1월
february-> Feb 2월
March-> Mar 3월
April->Apr 4월
May->May 5월
June->Jun 6월
july->jul 7월
August->Aug 8월
September-> Sep 9월
October->Oct 10월
November->Nov 11월
December-> Dec 12월

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

ETC_[ Win7 Telnet 설정 ]  (0) 2014.11.04
ETC_[Apache Error Code]  (0) 2013.08.24
학교숙제자료  (0) 2013.04.16
ETC_[제발 a href="#" 좀 쓰지 말자]  (0) 2013.03.13
NHN_NEXT 학교(?)를 설립하다  (0) 2012.06.30

- JQuery 특정 태그 선택 : find()

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
    <script>
   
        //변수 선언
        var xml = "";
        xml += "<friends>";
        xml += "    <friend>";
        xml += "        <name>연하진</name>";
        xml += "        <language>Ruby</language>";
        xml += "    </friend>";
        xml += "    <friend>";
        xml += "        <name>윤명월</name>";
        xml += "        <language>Basic</language>";
        xml += "    </friend>";
        xml += "    <friend>";
        xml += "        <name>윤하린</name>";
        xml += "        <language>C#</language>";
        xml += "    </friend>";
        xml += "</friends>";

        $.noConflict();
        var J = jQuery;
        J(function () {
            var xmlDoc = J.parseXML(xml);
            J(xmlDoc).find("friend").each(function () {
                var outPut = "";
                outPut += "<div>";
                outPut += "     <h1>" + J(this).find("name").text() + "</h1>";
                outPut += "     <p>" + J(this).find("language").text() + "</p>";
                outPut += "</div>";

                document.body.innerHTML += outPut;
            });
        });
    </script>
    <title>Untitled Page</title>
</head>
<body>
</body>
</html>

 

- JQuery_[JQuery filter() 메서드 사용]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
    <script>
        $.noConflict();
        var J = jQuery;
        J(function () {
            // h3 행(0 부터 시작)이 홀수이면 배경 : 검정, 폰트 : 하얀색
            J("h3").filter(function (index) {
                return index % 3 == 0;
            }).css({
                backgroundColor: "Black",
                color: "White"
            });

            // filter & end 사용 법( filter : 문서 객체 선택 후 체이닝 처리, end : 문서 객체 선택을 한 단계 뒤로 이동 )
            J("h3").css("background", "Orange").filter(":odd").css("color", "Red").end().filter(":even").css("color", "Blue");
        });
    </script>
    <title>Untitled Page</title>
</head>
<body>
    <h3>Header - 0</h1>
    <h3>Header - 1</h1>
    <h3>Header - 2</h1>
    <h3>Header - 3</h1>
    <h3>Header - 4</h1>
    <h3>Header - 5</h1>
</body>
</html>

- JQuery_[JQuery 를 이용한 객체 확장]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
    <script>
        $.noConflict();
        var J = jQuery;
        J(function () {
            var object = {};
            object.name = "RintIanTta";
            object.gender = "Male";
            object.part = "Second Guitar";

            J.extend(object, {
                age: "28"
            });

            var outPut = "";
            J.each(object, function (key, item) {
                outPut += key + ": " + item + "\n";
            });
            alert(outPut);
        });
    </script>
    <title>Untitled Page</title>
</head>
<body>

</body>
</html>

- JQuery 를 이용한 배열 관리(1) : 자바 스크립트 배열을 이용한 배열관리

사용 예) array : 받은 배열, index : 배열인덱스 자동, item :  array 배열의 해당 인덱스에 속한 객체의Key 값

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
    <script>
        $.noConflict();
        var J = jQuery;
        J(function () {
            var array = [
                { name: "hanbit", link: "http://hanb.co.kr" },
                { name: "Naver", link: "http://naver.com" },
                { name: "Yahoo", link: "http://yahoo.co.kr" },
                { name: "PAran", link: "http://paran.com" }
            ];

            J.each(array, function (index, item) {

                var output = "";
                output += "<a href='" + item.link + "'>";
                output += "<h1>" + item.name + "</h1>";
                output += "</a>";
                document.body.innerHTML += output;
            });
        });
    </script>
    <title>Untitled Page</title>
</head>
<body>
</body>
</html>

 

- JQuery 를 이용한 배열 관리(1) : 선택자를 이용한 배열관리

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <style>
        .high_light_0 { background : Yellow; }
        .high_light_1 { background : Pink; }
        .high_light_2 { background : Blue; }
        .high_light_3 { background : Red; }
        .high_light_4 { background : Orange; }
        .high_light_5 { background : Green; }
    </style>
    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
    <script>
        $.noConflict();
        var J = jQuery;
        J(function () {
            J("h1").each(function (index, item) {
                J("item").addClass("high_light_" + index);
            });
        });
    </script>
    <title>Untitled Page</title>
</head>
<body>
    <h1>item - 0</h1>
    <h1>item - 1</h1>
    <h1>item - 2</h1>
    <h1>item - 3</h1>
    <h1>item - 4</h1>
    <h1>item - 5</h1>
</body>
</html>


 

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

JQuery_[JQuery filter() 메서드 사용]  (0) 2013.01.07
JQuery_[JQuery 를 이용한 객체 확장]  (0) 2013.01.07
JQuery_[필터 선택자]  (0) 2013.01.07
JQuery_[속성 선택자]  (0) 2013.01.07
JQuery_[JQuery 자식, 후손 선택자]  (0) 2013.01.07

- JQuery 필터 선택자

앞의 속성 선택자(요소[속성=값]) 보다 조금 더 간단한 방법으로 쓰고 싶다면 필터 선택자 사용

양식 필터 선택자(1)

 선택자 형태 

 설명 

 요소:button

 input 태그 중 type 속성이 button인 문서 객체와  button 태그를 선택

 요소:checkbox

 input 태그 중 type 속성이 checkbox인 문서 객체를 선택
 요소:file  input 태그 중 type 속성이 file인 문서 객체를 선택
 요소:image

 input 태그 중 type 속성이 image인 문서 객체를 선택

 요소: password

 input 태그 중 type 속성이 password인 문서 객체를 선택
 요소:radio

 input 태그 중 type 속성이 radio인 문서 객체를 선택

 요소:reset  input 태그 중 type 속성이 reset인 문서 객체를 선택
 요소:submit  input 태그 중 type 속성이 submit인 문서 객체를 선택
 요소:text  input 태그 중 type 속성이 text인 문서 객체를 선택

 

양식필터 선택자(2)

 선택자 형태  설명 
 요소:checked

 체크된 입력 양식을 선택 

 요소:disabled  비활성화된 입력 양식을 선택
 요소:enabled  활성화된 입력 양식을 선택
 요소:focus

 초점이 맞춰져 있는 입력 양식을 선택

 요소:input

 모든 입력 양식을 선택(input, textarea, select, button 태그)

 요소:selected

 option 객체 중 선택된 태그를 선택

 

- 속성 선택자

 선택자 형태

 설명

 요소[속성]  특정 속성을 가지고 있는 문서 객체 선택 

 요소[속성=값]

 속성 안의 값이 특정 값과 같은 문서 객체 선택

 요소[속성~=값]

 속성 안의 값이 특정 값을 단어로써 포함하는 문서 객체 선택 

 요소[속성^=값]

 속성 안의 값이 특정 값으로 시작하는 문서 객체 선택 

 요소[속성$=값]

 속성 안의 값이 특정 값으로 끝나는 문서 객체 선택 

 요소[속성*=값]

 속성 안의 값이 특정 값을 포함하는 문서 객체 선택 

 

- 속성 선택자 예)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
    <script>
        $.noConflict();
        var J = jQuery;
        J(function () {
            J("input[type=text]").val("Hello JQuery");
        });
    </script>
    <title>Untitled Page</title>
</head>
<body>
    <div>
        <input type="text"/>
        <input type="password"/>
        <input type="radio"/>
        <input type="checkbox"/>
        <input type="file"/>
    </div>
</body>
</html>

 

+ Recent posts