spring框架:
springmvc框架 只做三件事
1.过去页面传递给服务器的数据
2.根据获取的页面数据,调用业务方法,处理具体业务
3.根据业务的返回结果做相应的跳转工作
springmvc 框架 也只做三件事
1.获取页面的数据(springmvc帮你做了)
2.调用具体的业务操作(程序员只需要关注具体的业务实现)
3.根据业务的结果做跳转(springmvc帮你做了)
mybatis框架:持久层框架
1.过去连接
2.写sql语句
3.构建PreparedStatement对象
4.sql语句由?,给?占位符赋值
5.dml执行executeUpdate(),返回结果是受影响和的行数
dql执行executeQuery(),返回结果是ResultSet结果集
6.遍历结果集,把结果集的数据转化到集合中
7.关闭所有的资源(ResultSet,PreparedStatement,Connnection)
mybatis框架:
程序员只需要提供变化的数据(sql sql语句?号占位符)剩下全部交给
mybatis操作
结论:学习框架就是提高开发效率
如何学习一个框架
1.根据需求,在谷歌或百度上搜索能完成此需求的框架
2.去此框架的官方网站,学习框架的用法
-从官网寻找直接案例
-从官网寻找开发文档
-从百度或谷歌上搜索博客(csdn,iteye,cnblog等)
学一个框架的demo,框架的细节,一定要读官网的开发文档
spring官网:spring.io
spring框架:能够提高开发效率,能够做企业应用开发,解耦
spring frameword包含:
核心技术:
IOC(inversion of control 控制反转)
DI(dependency injection 依赖注入)
AOP(面向方面的编程),衍生出spring的声明式事务管理
数据访问:
spring jdbc
spring IOC 容器:
IOC控制反转,把new对象的控制权,转移到第三方框架spring中,
由spring框架控制对象的创建和管理
以前:
User user=new User();由程序员控制在需要的地方写此行代码new对象
现在用spring框架
用sping框架控制对象的创建
Spring IOC 第一个案例:
-创建工程(java) 工程是基础
-导入jar包(spring框架) spring的功能
-创建一个类 交给spring框架实例化和管理对象
-创建一个清单文件 清单文件中指明,要管理和实例化哪些的对象--例WEB.xml
-启动spring容器 读取和加载清单文件,根据清单文件内容做实例化
-从spring容器中取出创建完毕的对象,备用
常见错误:
有错误一定要先看错误提示,错误提示或多或少会给一些提示
由Caused by:先找Caused by 从下往上找
1.文件没有发现异常,因为spring。XML文件定位有问题
总结:
1.用spring可以做到解耦
耦合分为三种:
零耦合,类和类之间不存在任何关系
抽象耦合:在一个类中耦合了另一个抽象类或接口
具体耦合:在一个类中耦合了一个具体的实现类
应该类中示例化对象,但是把控制权反转给spring容器,
2.spring原理:spring如何做到解耦的
能够做到解耦,是因为出现了一个xml清单文件
首先spring容器启动的时候,先读取和解析xml文件
并把xml文件的内容存储到map集合中
循环遍历map集合,读取id的属性值和class的属性值
读取到class属性的值会
Object obj=Class.forName("包名.类名").newInstance();
然后以ID的值得key,以obj位置,存储到另一个map集合中
此时这个map集合就spring的容器集合
通过id的值去容器中去取属性值
用spring管理和实例化对象的四种方式
方式一:默认构造函数(最常用)