01.综合介绍

image

框架:比如建房子,地基承重墙房顶就是框架,必须完善,禁不起错误

房子里面: 粉刷墙面,铺地板, 容错率高,符合实际场景,灵活性强

框架可以理解成软件半成品,帮你做了写基础操作,在基础上定制适合你自己的应用

没有框架,需要自己写实体类,自己控制多态,没有tomcat要自己用socat写服务器,手写jsp脚本,自己写html页面,自己创建javascript 方法,手动写数据库,拼接增删改查

spring是无数的开发者,无数个项目早己经把spring框架测试的非常完善了,是主流的javaweb开发框架

优势

image

非侵入式设计

spring是非侵入式框架,它可以使应用程序代码带框架代码依赖的最小化,即spring开发的应用中的对象可以不依赖于springAPI

项目其实就像一个库房,每个程序员就是运输司机,侵入式就是要求司机知道库房的内部结构,知道怎么进门和放哪个货架,坏处是多个司机进入,难免造成磕碰损坏,拥堵。

在代码中就是要求程序员知道所有类的结构,包括有多少实现类,继承关系是啥,甚至是可修改内部源码

非侵入式就只要求司机把货物放到传送带上就ok了,无需关心库房里面的事情

方便解耦、简化开发

spring是大工厂,可以将所有对象的创建和依赖关系的维护都交给spring管理,大大降低组件间的耦合性;

程序开发有一个原则叫,高内聚,低耦合

例子: 人和机器人, 人就是耦合度极高的事务,牵一发而动全身,人体任何部件出了问题,都可能导致整个对象被gc,所以人的耦合度极高

但是机器人是哪里坏了换哪里,而且把机器人头卸下来,也不影响其他部件的运行,就是各个对象完成自己各自的任务

支持aop

允许将通用任务集中式处理,例子:把大象装进冰箱需要三步,1.打开冰箱 2.把大象装进去
3.关上冰箱,但在实际中这三个方法不足以完成任务,需要在三个方法中插入小方法,比如把大象剁成小块,风干的方法, 程序员在第一次开发项目的时候肯定有许多不完善或者项目需求变更的地方,有了aop就能灵活的对功能进行修改

支持声明式事务处理

事务就是银行转账功能,要全部成功才算成功, 事务通常写在mysql里面,但是spring提供了更简便的操作

方便程序的测试

spring提供了对junit的支持,可以通过注解的方式来测试spring程序,很方便

方便集成各种优秀框架

spring不排斥各种优秀框架

降低JavaEE API 的使用难度

spring模块

image

java,web,mysql 是技术,spring更像是一种经验

课程结构

image

拓展不是核心,可重在了解

posted @ 2022-11-21 13:18  java同学!  阅读(44)  评论(0)    收藏  举报