2017-10-30 6 views
0

単純なconfig.propertiesファイルを読み込もうとしていますが、値としてnullが得られています。spring mvcのアノテーションアプローチによるプロパティへのアクセス4

config.propertiesファイルはルート(pom.xmlと同じレベル)の下にあります config.propertiesには1行しかありません。

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

が新しいのAppConfigをインスタンス化...となり、あなたのコントローラに

@Autowired AppConfig appConfig; 

を次の内容を追加してみてください。'それがないことを意味春の管理された豆。 –

+0

これは役立つかもしれませんhttps://stackoverflow.com/a/9260652/2664200 – SpringLearner

+0

私はネットで見た例は、それを使用する方法を示していません。アクセス方法を教えてください。@AlanHay – rematnarab

答えて

0

のようなのAppConfigクラスを持っていますコントローラの中でAppConfigの代わりに、Springによって作成されたAppConfigを注入する必要があります。

だから、それはあなたが `の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"; 
    } 
関連する問題