2017-10-30 8 views
0

간단한 config.properties 파일을 읽으려고하는데 값으로 null이 계속 나타납니다.봄 mvc에서 주석 접근법을 사용하여 속성에 액세스하기 4

루트 아래 config.properties 파일을 가지고 있습니다 (pom.xml과 동일한 수준) config.properties에 한 줄만 있습니다.

KEY=baran 

그리고 난

package tr.com.simroll.ada.rvm.web.config; 

import org.springframework.beans.factory.annotation.Value; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.context.annotation.PropertySource; 


@Configuration 
@PropertySource("classpath:config.properties") 
public class AppConfig { 

    @Value("${KEY}") 
    private String test; 

    public String getTest() { 
     return test; 
    } 

    public void setTest(String test) { 
     this.test = test; 
    } 
} 

아래에 내가 여기에이

@Controller 
@CrossOrigin(origins = "*") 
public class MovieCategoryController { 

    @RequestMapping(value = "/api/movieCategory/list", method = RequestMethod.GET) 
    @ResponseBody 
    public String listMovieCategories(ModelMap model, HttpServletResponse res, HttpServletRequest req) { 


     AppConfig config = new AppConfig(); 
     System.out.println(config.getTest()); 

     return "test"; 
    } 
+0

를 다음을 추가보십시오 봄 만원 된 콩. –

+0

이 도움이 될 수 있습니다 https://stackoverflow.com/a/9260652/2664200 – SpringLearner

+0

그물에서 본 예제는 사용법을 보여주지 않습니다. 액세스 방법을 보여 주시겠습니까? @AlanHay – rematnarab

답변

0

문제처럼 내 컨트롤러에서 액세스를 시도하고 같은 appconfig가 클래스를 사용하면 새로운 인스턴스를 생성하는 것입니다있다 컨트롤러에 AppConfig이 있으면, 대신에 Spring에 의해 생성 된 AppConfig을 주입해야합니다. 그렇지 않은`는 의미, 당신은 appconfig가 설정 = 새 appconfig가 (`처럼

) 새로운 appconfig가 인스턴스화 .. 컨트롤러

@Autowired 
AppConfig appConfig; 

그래서이됩니다에

@Controller 
@CrossOrigin(origins = "*") 
public class MovieCategoryController { 

@Autowired 
AppConfig appConfig; 

    @RequestMapping(value = "/api/movieCategory/list", method = RequestMethod.GET) 
    @ResponseBody 
    public String listMovieCategories(ModelMap model, HttpServletResponse res, HttpServletRequest req) { 

     System.out.println(appConfig.getTest()); 

     return "test"; 
    }