Hello World?

SPRING에서 .propertes 파일 사용하기 본문

JAVA WEB/SPRING

SPRING에서 .propertes 파일 사용하기

쮠이 2017. 7. 6. 14:12

SPRING에서 .properties를 사용하는 방법을 정리해본다

 

PROPERTIES 파일 생성

 global.properties

############################################
# GLOBAL VARIABLE
############################################

#upload디렉토리 지정

UPLOAD.FILE_UPLOAD_DIR_REAL=d:/test/
UPLOAD.FILE_UPLOAD_ENV_DIR_REAL=d:/test/

 

 

SPRING PROPERTIES JAVA에서 읽을수 있도록 클래스 작성

 

 ContextPropUtil.JAVA

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import org.springframework.core.io.FileSystemResourceLoader;
import org.springframework.core.io.Resource;
import org.springframework.stereotype.Component;

 

@Component("prop")
public class ContextPropUtil {
    private Properties propFile;

    public void setPropFile(String proFile) throws IOException {
        FileSystemResourceLoader fileSystemResourceLoader = new FileSystemResourceLoader();
        Resource propResource = fileSystemResourceLoader.getResource(proFile);
        InputStream is = propResource.getInputStream();
        propFile = new Properties();
        propFile.load(is);
    }
    public String get(String key) {
     if ( propFile != null ) {
      return propFile.getProperty(key);
     }
     return "";
    }
}

 

 

root-context파일에 해당 빈을 생성하도록 등록

 

 root-context.xml

  ...

 <bean class="com.ohnew.app.util.ContextPropUtil" id="prop">
        <property value="classpath:/global.properties" name="propFile" />
 </bean>

 ...

 

 

사용할 곳에서 아래처럼 사용하면 된다

 

 Excample Source

...

@Component
public class FileUtil {
 
    @Autowired
    @Resource(name="prop")
    public ContextPropUtil prop; 

 

    public static String FILE_UPLOAD_DIR_REAL;

    public static String FILE_UPLOAD_ENV_DIR_REAL;

 

   @PostConstruct
    void init() {
         FILE_UPLOAD_ENV_DIR_REAL = prop.get("UPLOAD.FILE_UPLOAD_ENV_DIR_REAL");
         FileUtil.FILE_UPLOAD_DIR_REAL = prop.get("UPLOAD.FILE_UPLOAD_DIR_REAL");
    }

 

 

 

위처럼 사용하면 SPRING 내에서 사용하는 JAVA 파일에서 프로퍼티를 사용가능하도록 해준다

 

참조 : http://bugnote.tistory.com/46