@Controller
@RequestMapping("/module/login")
public class LoginController {
@Autowired
private Properties applicationProps;
/**
* 用户登录
* @throws Exception
*/
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(HttpServletRequest request, Model model) throws Exception {
//这里面可以取到
String keywordPath = applicationProps.getProperty("keyword.filepath");
.....................
.....................
}
}
在下面的类中就取不到。
@Component
public class Constants {
@Autowired
private static Properties applicationProps;
public static String _DBUSER;// 数据库用户
static {
//这里面就不到!
_DBUSER=applicationProps.getProperty("jdbc.user");
}
}
Properties 在Controller 中可以取到,为什么在普通的类中取不到呢?
我想在Constants 中获取 Property 中的jdbc.user的值,如何获取呢?
spring?mvc?property
------解决方案--------------------
需要指定搜索范围后(比如使用context:component-scan标签) 后,spring才会去按package检查类的annotation
controller是在相关配置中指定了搜索范围了。
------解决方案--------------------
如果是在xml中声明了该bean 也需要配置 <context:annotation-config />才能开启annotation检查。