Spring第一天上午
Spring框架:
1、不属于MVC任何一层,主要作用就是提供容器,进行程序中对象的管理
2、Spring是什么?
①:开源的(可以免费下载的)
②:轻量级(jar包的大小)
③:非侵入式的(如果大量使用框架提供的API进行开发就是侵入式的)
④:控制反转(将原始的调用对象的方式交给Spring容器管理)
作用:降低程序的耦合度,提高代码的可维护性
⑤:面向切面(将与业务逻辑不相干的,很多地方都能用到的代码,提取出来)
AOP把程序中要实现的每一个功能点(增删改查等)叫做切入点(关注点)
横切关注点:跟业务不相关的,公共的功能点的实现(日志记录,安全性检查等)
垂直关注点:系统要实现的所有业务功能
AOP提供的就是程序中横切关注点的实现
作用:提升代码的重用性,提高开发效率
图解:
SpringAOP:面向切面的部分
SpringCore:IOC部分
SpringMVC:将要学习的第三个框架
Spring ORM:支持持久层框架(与Mybatis,hibernate集成)
SpringDao:针对事务管理,Spring也提供了很好的集成
Spring Web:与servlet集成,已经很少用了
Spring Context:与企业级开发技术的集成(发邮件,支付功能等)
Spring框架搭建:
1、引入jar包
2、引入Spring的核心配置文件applicationContext.xml
1、进行对象的管理
2、对象之间的依赖关系
1、对象的管理:
在核心配置文件中管理:测试环境搭建是否正确
id属性:
class属性:要管理类的全类名
scope属性:设定对象的作用域
singleton(默认,单例)、peototype非默认,(非单例)
lazy-init属性:延迟加载
true:延迟初始化(只有在用到的时候才会加载)
false(默认值):非延迟初始化 (在容器加载过程中就进行对象的生成)
2、依赖关系的建立(DI《依赖注入》)
①:构造注入:
采用构造方式注入:
第一步:管理对应的bean
第二步:让bean与bean之间产生依赖关系<constructor-arg>,内部用ref元素添加要依赖的bean
第三部:在对应的java文件中写一个要注入的bean,再写一个对应的有参构造器
思路::下图中的example中的constructor-arg属性就相当于有参构造的参数,first就是FirstBean对象,所以在对应的java文件中需要有参构造
②:setter注入: