关于spring容器的问题
1.之前学到的spring配置获得bean的方法是
ApplicationContext ac = new ClassPathXmlApplicationContext("application.xml");
可以通过这样的方式获得shopService吗,在web项目中一定要使用老师的方式吗
2.属性注入@Resource和@Autowired两者的区别,我记得之前的章节内容讲到好像使用后者比较多,两者的应用场景?
3.可以对Servlet类添加@Controller这样的注解注入到spring容器中吗?这样不就不需要init方法来生成spring容器了嘛
麻烦老师解答一下
正在回答
1、在项目并不是都需要通过这种方式来获得;可以使用注解的方式生成shopService实例,来直接使用;
2、@Resource和@Autowired都可以用于声明某一个类的实例;@Autowired是按类型匹配,如果有多个ShopService类的对象就会报错,可以配合@Qualifier("shopService")使用,指定对象名,与@Resource效果一样,也可以直接使用@Resource。
3、可以通过注解的方式将类加载到Spring容器中,不需要再通过代码的方式加载其他配置文件,通过在配置文件中加入<context:component-scan base-package="包名"/>这句代码开启注解扫描,此时的加载顺序就是:1)加载spring的容器;2) 扫描spring容器中指定包;3)扫描指定的包中,加了三个类注解的类,然后将该类纳入spring容器。
祝学习愉快!
- 参与学习 人
- 提交作业 205 份
- 解答问题 4317 个
Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星