Spring引入

传统的基于mvc的项目框架结构:Entity / dao / service / action
简单用户访问流程:/user.action ----> Tomcat (服务器创建Action、Service、dao
引出思考:
1. 对象创建创建能否写死?
2. 对象创建细节
对象数量
action 多个 【维护成员变量】
service 一个 【不需要维护公共变量】
dao 一个 【不需要维护公共变量】
创建时间
action 访问时候创建
service 启动时候创建
dao 启动时候创建
3. 对象的依赖关系
action 依赖 service
service依赖 dao
总结:Spring就是解决上面的问题的.简单来说,就是处理对象的创建的、以及对象的依赖关系,降低组件之间的耦合度,实现软件各层之间的解耦。
Spring介绍
•Spring是什么?
Spring是一个非常活跃的开源框架, 它是一个基于IOC和AOP来构架多层JavaEE系统的框架,它的主要目地是简化企业开发,Spring以一种非侵入式的方式来管理你的代码, Spring提倡”最少侵入”,这也就意味着你可以适当的时候安装或卸载Spring。
•具体描述Spring
1.轻量级:Spring 是非侵入性的>基于 Spring 开发的应用中的对象可以不依赖于 Spring 的 API,基础版本的Spring框架大约只有2MB.
组件/框架设计 侵入式设计 引入了框架,对现有的类的结构有影响;即需要实现或继承某些特定类。 例如: Struts框架 非侵入式设计 引入了框架,对现有的类结构没有影响。 例如:Hibernate框架 / Spring框架
2.依赖注入(DI --- dependency injection、IOC)
Spring使用控制反转技术实现了松耦合。依赖被注入到对象,而不是创建或寻找依赖对象。 a、IOC Inversion on Control , 控制反转 其思想是反转资源获取的方向. 传统的资源查找方式要求组件向容器发起请求查找资源. 作为回应, 容器适时的返回资源. 而应用了 IOC 之后, 则是容器主动地将资源推送给它所管理的组件, 组件所要做的仅是选择一种合适的方式来接受资源. 这种行为也被称为查找的被动形式。可以简单的理解为对象的创建交给外部容器完成,这个就叫做控制反转. b、依赖注入, dependency injection IOC 的另一种表述方式:即组件以一些预先定义好的方式(例如: setter 方法)接受来自如容器的资源注入. 相对于 IOC 而言,这种表述更直接。 两者区别: 控制反转: 解决对象创建的问题 【对象创建交给别人】 依赖注入: 在创建完对象后,对象的关系的处理就是依赖注入 【通过set方法依赖注入】
3.面向切面编程(AOP --- aspect oriented programming)
a、采用了面向切面编程来实现很多基础但是与业务逻辑无关的功能的解耦,比如:事务管理、日志、权限验证等。 b、AOP 的主要编程对象是切面(aspect), 而切面模块化横切关注点. c、在应用 AOP 编程时, 仍然需要定义公共功能, 但可以明确的定义这个功能在哪里, 以什么方式应用, 并且不必修改受影响的类. 这样一来横切关注点就被模块化到特殊的对象(切面)里. 关注点: 重复代码就叫做关注点; 切面: 关注点形成的类,就叫切面(类)! 面向切面编程,就是指对很多功能都有的重复的代码抽取,再在运行的时候往业务方法上动态植入“切面类代码”。 切入点: 执行目标对象方法,动态植入切面代码。 可以通过切入点表达式,指定拦截哪些类的哪些方法; 给指定的类在运行的时候植入切面类代码。
4.容器:Spring 是一个容器, 因为它包含并且管理应用对象的生命周期
5.框架:Spring 实现了使用简单的组件配置组合成一个复杂的应用. 在 Spring 中可以使用 XML 和 Java 注解组合这些对象
6.一站式
Spring提供了一站式解决方案: 1) Spring Core spring的核心功能: IOC容器, 解决对象创建及依赖关系 2) Spring Web Spring对web模块的支持。 可以与struts整合,让struts的action创建交给spring spring mvc模式 3) Spring DAO Spring 对jdbc操作的支持 【JdbcTemplate模板工具类】 4) Spring ORM spring对orm的支持: 既可以与hibernate整合,【session】 也可以使用spring的对hibernate操作的封装 5)Spring AOP 切面编程 6)SpringEE spring 对javaEE其他模块的支持
以上这篇关于Spring总结(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# Spring总结
# springmvc 参数绑定总结
# 不需要
# 给大家
# 可以使用
# 一站式
# 是一个
# 实现了
# 横切
# 你可以
# 多个
# 则是
# 它是
# 这也
# 可以通过
# 用了
# 希望能
# 要做
# 采用了
# 引入了
# 仅是
# 被称为
相关文章:
网站制作公司排行榜,抖音怎样做个人官方网站
如何在阿里云域名上完成建站全流程?
,南京靠谱的征婚网站?
动图在线制作网站有哪些,滑动动图图集怎么做?
韩国服务器如何优化跨境访问实现高效连接?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
制作销售网站教学视频,销售网站有哪些?
建站与域名管理如何高效结合?
利用JavaScript实现拖拽改变元素大小
制作宣传网站的软件,小红书可以宣传网站吗?
非常酷的网站设计制作软件,酷培ai教育官方网站?
如何通过二级域名建站提升品牌影响力?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
常州企业网站制作公司,全国继续教育网怎么登录?
建站主机与服务器功能差异如何区分?
建站之星如何快速解决建站难题?
北京网站制作的公司有哪些,北京白云观官方网站?
如何通过cPanel快速搭建网站?
已有域名和空间如何搭建网站?
如何获取开源自助建站系统免费下载链接?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
如何在新浪SAE免费搭建个人博客?
如何通过西部建站助手安装IIS服务器?
如何通过VPS建站实现广告与增值服务盈利?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
建站之星3.0如何解决常见操作问题?
,购物网站怎么盈利呢?
昆明网站制作哪家好,昆明公租房申请网上登录入口?
建站之星Pro快速搭建教程:模板选择与功能配置指南
建站之星后台密码遗忘或太弱?如何重置与强化?
教学论文网站制作软件有哪些,写论文用什么软件
?
建站主机如何安装配置?新手必看操作指南
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
XML的“混合内容”是什么 怎么用DTD或XSD定义
成都响应式网站开发,dw怎么把手机适应页面变成网页?
如何在Golang中指定模块版本_使用go.mod控制版本号
建站上传速度慢?如何优化加速网站加载效率?
如何通过万网虚拟主机快速搭建网站?
建站之星代理如何优化在线客服效率?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
如何在IIS管理器中快速创建并配置网站?
如何注册花生壳免费域名并搭建个人网站?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
如何快速生成ASP一键建站模板并优化安全性?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
建站之星2.7模板快速切换与批量管理功能操作指南
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
建站之星免费模板:自助建站系统与智能响应式一键生成
*请认真填写需求信息,我们会在24小时内与您取得联系。