記錄

Spring) .properties 파일의 활용 본문

Web/Spring framework

Spring) .properties 파일의 활용

surhommejk 2018. 4. 28. 14:39


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!--
    IOC 컨테이너 (Spring 전용 메모리) 안에 생성될 [객체 만들고 조립(의존) 설정] 파일
    :제어의 역전 (프로그램을 제어구조 바꿘다)
    
    1.DataSourceFactory 빈 객체 생성
    2.DI_11.xml 에서 (jdbc.properties) 파일을 read 해서
    3.DataSourceFactory : 4개의 setter 통해서 설정 주입
    
    4.context 자원 사용해서
     > xmlns:context="http://www.springframework.org/schema/context" 추가
     > 접두어 : context
     > context (파일 기반 작업 : JNDI 지원)
     > 파일 기반 작업 경로 / (. 이 아니다)
-->
<context:property-placeholder location="classpath:DI_11_Spring/jdbc.properties" />
<bean id="dataSourceFactory" class="DI_11_Spring.DataSourceFactory">
  <property name="jdbcDriver" value="${jdbc.driver}"></property>
  <property name="jdbcUrl" value="${jdbc.url}"></property>
  <property name="username" value="${jdbc.username}"></property>
  <property name="password" value="${jdbc.password}"></property>
</bean>
</beans>





public class DataSourceFactory {
    private String jdbcDriver;
    private String jdbcUrl;
    private String username;
    private String password;
    
    public void setJdbcDriver(String jdbcDriver) {
        this.jdbcDriver = jdbcDriver;
    }
    public void setJdbcUrl(String jdbcUrl) {
        this.jdbcUrl = jdbcUrl;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    @Override
    public String toString() {
        return "DataSourceFactory [jdbcDriver=" + jdbcDriver + ", jdbcUrl=" + jdbcUrl + ", username=" + username
                + ", password=" + password + "]";
    }
}




jdbc.properties (그냥 텍스트파일 만들어도 뒤에 확장자를 .properties로 만들면 됨)

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://dbserver:3306/SpringDB
jdbc.username=spring
jdbc.password=1004





public class Program {
//collection : Properties<String, String>
    public static void main(String[] args) {
        
        ApplicationContext context =
                new GenericXmlApplicationContext("classpath:DI_11_Spring/DI_11.xml");
        DataSourceFactory factory = context.getBean("dataSourceFactory", DataSourceFactory.class);
        System.out.println(factory.toString());
    }
}





콘솔결과

DataSourceFactory [jdbcDriver=com.mysql.jdbc.Driver,
jdbcUrl=jdbc:mysql://dbserver:3306/SpringDB, username=spring, password=1004]


Comments