개발 무지렁이

[Spring] 환경설정정보(.properties) 바인딩 본문

Backend/스프링

[Spring] 환경설정정보(.properties) 바인딩

Gaejirang-e 2023. 4. 30. 16:27

.properties라는 파일을 읽어들여서 정보로 활용하는 경우가 많다.

📌. 외부 properties 파일의 위치를 설정

  <!-- spring에서 제공하는 객체를 쓰겠다. -->
  <bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
      <property name="location">
      <array>
        <value>classpath:info.properties</value>
      </array>
    </property>  
  </bean>

  <!-- 위의 코드를 모아 한번에 만들어주는 tag -->
  <context:property-placeholder location="classpath:info.properties" /> <!-- 위의 코드 대신 이 한줄만 쓴다. -->

📌. namespaces: context
spring에서 필요로하는 객체들을 모아서 미리 만들어 준다 (스캐닝)

[info.properties]

  #key=value
  no=10
  addr=\uAC15\uB0A8 \uC120\uB989\uC5ED
  name=\uD64D\uAE38\uB3D9
  phone=555-5555

[ApplicationContext.xml]

  <?xml version="1.0" encoding="UTF-8"?>
  <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    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-4.3.xsd">

    <!-- 외부 properties 파일의 위치를 설정 -->
    <context:property-placeholder location="classpath:info.properties"/>

    <!-- 객체 생성 -->
    <bean class="sample04.Student" id="student">
        <property name="no" value="${no}" />
          <property name="name" value="${name}" />
          <property name="addr" value="${addr}" />
          <property name="phone" value="${phone}" />
    </bean>  

    <!-- 객체 생성: 축약형 -->
    <bean class="sample04.Student" id="student3" p:no="${no}" p:name="${name}"
          p:addr="${addr}" p:phone="${phone}">
    </bean>
  </beans>  

외부의 properties의 key를 가져오는 명령어 ${ }
Comments