本文介绍: 对于这三行代码,大家应该都是比较熟悉,这是学习Spring的hello world。可光看这三行代码,其实并不能体现出来Spring的强大之处,也不能理解为什么需要ClassPathXmlApplicationContext和getBean()方法,随着课程的深入将会改变你此时的观念,而对于上面的这些疑问,也会随着课程深入逐步得到解决。对于这三行代码,你现在可以认为:如果你要用Spring,你就得这么写。就像你要用Mybatis,你就得写各种Mapper接口。
先来看看入门使用Spring的代码:
对于这三行代码,大家应该都是比较熟悉,这是学习Spring的hello world。可
是,这三行代码底层都做了什么,比如:
光看这三行代码,其实并不能体现出来Spring的强大之处,也不能理解为什么需要
ClassPathXmlApplicationContext和getBean()方法,随着课程的深入将会改变你此时的
观念,而对于上面的这些疑问,也会随着课程深入逐步得到解决。对于这三行代码,你现在
可以认为:如果你要用Spring,你就得这么写。就像你要用Mybatis,你就得写各种
Mapper接口。
但是用ClassPathXmlApplicationContext其实已经过时了,在新版的Spring MVC和
Spring Boot的底层主要用的都是AnnotationConfigApplicationContext,比如:
可以看到AnnotationConfigApplicationContext的用法和
ClassPathXmlApplicationContext是非常类似的,只不过需要传入的是一个class,而不是
一个xml文件。
而AppConfig.class和spring.xml一样,表示Spring的配置,比如可以指定扫描路径,可以
直接定义Bean,比如:
spring.xml中的内容为:
AppConfig中的内容为:
所以spring.xml和AppConfig.class本质上是一样的。
目前,我们基本很少直接使用上面这种方式来用Spring,而是使用Spring MVC,或者
Spring Boot,但是它们都是基于上面这种方式的,都需要在内部去创建一个
ApplicationContext的,只不过:
Spring中是如何创建一个对象?
Bean的创建过程
推断构造方法
AOP大致流程
Spring事务
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。