Spring MVC : @Value 어노테이션

    @Value 어노테이션


    @Value 어노테이션은 스프링 빈에 있는 필드에 특정 값들을 주입하는데 도움을 주는 어노테이션이다. @Value 어노테이션이 정상적으로 동작하기 위해서는 해당 클래스가 스프링빈으로 반드시 등록이 되어있어야 한다. 

     

    1. @Value("...") 사용

    @Controller
    public class HomeController {
    
        @Value("myName")
        private String myStr;
     }

    @Value가 붙은 곳에 "..."이라는 값을 바로 주입시켜준다. 위의 코드에서는 myStr = "myName"이 된다. 

     

    2. @Value("${...}")

    // application.properties
    file.dir=c:/abc/file/
    
    
    // Controller
    @Controller
    public class ServletUploadControllerV3 {
    
        @Value("${file.dir}")
        private String fileDir;
    }

    @Value 어노테이션을 다음과 같이 사용하면 application.properties에 저장된 값이 주입된다. application에서 file.dir에 저장된 값을 읽어와서 fileDir이라는 필드에 주입시켜준다. 

     

    3. @Value("${... : abc!!}")

    @Controller
    public class ServletUploadControllerV3 {
    
    	@Value("${file.dir:abc}")
        private String fileDir;
    }

    @Value 어노테이션을 다음과 같이 사용하면 application.properties에 저장된 값이 주입된다. 그런데 값을 찾지 못할 경우 Exception이 발생한다. 이 때 Exception을 띄우지않고, 기본값을 넣어주고 싶다면 ... 뒤에 :으로 원하는 값을 넣어주면 된다. 

    댓글

    Designed by JB FACTORY