복붙노트

[SPRING] 봄 표현 읽기 파일 내용

SPRING

봄 표현 읽기 파일 내용

스프링 표현식을 사용하여 파일 내용을 읽고 문자열에 넣는 방법?

나는 다음과 같이하고 싶다.

예를 들어,

@Value("classpath:myquery.sql")
File f;

@Value("#{org.apache.commons.io.FileUtils.readFileToString(f)}")
String sql;

또는 더 나은

@Value("#{FileUtils.readFileToString(classpath:myquery.sql)}")
String sql;

그러나 위의 코드는 작동하지 않습니다.

언급하기 위해 나는 봄 버전 3.2.0을 사용하고있다.

감사.

해결법

  1. ==============================

    1.마침내 그 답을 얻었습니다.

    마침내 그 답을 얻었습니다.

    @Value("#{T(org.apache.commons.io.FileUtils).readFileToString(" +
        "T(org.springframework.util.ResourceUtils).getFile('classpath:myquery.sql')" +
        ")}")
    String sql;
    

    sql은 이제 classpath에서 myquery.sql의 정확한 내용으로 채워집니다.

  2. ==============================

    2.자바 구성을 사용하는 유사한 질문이 여기에 있습니다.

    자바 구성을 사용하는 유사한 질문이 여기에 있습니다.

    @Configuration
    public class Spring {
    
        @Value("classpath:choice-test.html")
        private Resource sampleHtml;
    
        @Bean
        public String sampleHtmlData() {
            try(InputStream is = sampleHtml.getInputStream()) {
                return IOUtils.toString(is);
            }
        }
    }
    
  3. from https://stackoverflow.com/questions/14639209/spring-expression-read-file-content by cc-by-sa and MIT license