Spring 是一站式框架
一站式指的是在 javaee 三层结构中,每一层都提供了不同的解决技术
web 层:SpringMVC
service 层:Spring 的 ioc
dao 层:Spring 的 Jdbc template
疑问:dom4j 是怎么解析的?
clazz.newInstance 的过程是怎样的?不用转型吗?
疑问:什么是 schema 约束?xml 是怎么被读取的?
Spring 的 bean 管理(xml)
bean 实例化的方式
1. 在 Spring 里面通过配置文件来创建对象
2. bean 实例化的三种实现
(第二三种不常用)
类里面若没有无参数的构造器,则出现异常.
疑问:为什么没有无参数构造器就会出现异常,其解析创建过程是怎样的??
疑问:既然工厂已经 new 了 Bean2,那为什么不直接
Bean2 bean2 = Bean2Factory.getBean2();
反而还得去配置文件
疑问:怎么用反射创建对象的?
prototype:多实例模式
就不写代码了,意思就是创建的对象不一样,地址不一样.
在 Spring 框架里只用前两种方式
IOC:控制反转,把对象创建交给 Spring 配置处理
DI:依赖注入,向类的属性中设置值
关系:依赖注入不能单独存在,需要在 ioc 基础上完成操作
小知识点:加载static 代码块第一次慢后来快
什么 action 是多实例的,每次加载创建对象都需要时间,这个问题的解决方案如上
这一块没怎么搞清楚,把这个视频再看一遍,另外还有 servlet 相关知识点看一下
注解不能完全替代配置文件,只不过是配置文件不需要写这么多了
疑问:到底什么是约束
看来知识点还是连贯点好,自上而下自下而上两手抓
记住这个留后路的思想…
疑问:xml 好像是通过 dom4j 解析,然后反射创建,那么注解是怎么创建对象的?
@Autowired 根据这个类找到这个类的对象,自动注入
说是这么说可我还是没弄明白怎么注入的
@Resource 这个方式的对象给指明了,如果name 写成 userDao123 就错了,但是 Autowired 就没关系
aop 概述:面向切面编程,扩展功能不通过修改源代码实现
aop 底层原理:动态代理