spring的父子容器
在創建ssm項目工程時,經常需要讀取properties資源配置文件,傳統的方法當然可以。
但是spring提供了更簡便的方法,@value注解。
在page.properties文件中,配置分頁信息。
?
這個時候,發現在Service層用@value("${PAGESIZE}")可以取到10.
然而在controller中同樣的注解卻不起作用了。
原來,這涉及到了spring的父子容器問題。
spring和springmvc都是容器。spring是父容器,springmvc是子容器。
子容器可以訪問父容器的對象,然而父容器卻不能訪問子容器的對象。
mapper代理對象和Service對象都在spring容器中,controller對象在springmvc容器中。因為子容器是可以訪問到父容器的對象的,
所以在controller中可以隨意注入Service和mapper。但是在Service和mapper中卻不能訪問controller。
但是為什么在Service中可以取到pagesize,而controller中卻取不到呢?因為這是屬性,不是對象。
如果想要在controller中取到配置信息,就需要再springmvc.xml配置文件中,掃描一下page.properties配置文件。
這樣springmvc容器中也就有了page.properties配置文件中的所有屬性,在controller中自然就能訪問到這些屬性了。
?
轉載于:https://www.cnblogs.com/jjkang/p/7772800.html
總結
以上是生活随笔為你收集整理的spring的父子容器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 极域电子教室常见问题的解决方法
- 下一篇: android 省市区选择器