Spring(一)--Spring简介
Spring简介
1. Spring的特点
Spring (春天,绿色) 容器
01.Java EE开发者的春天,大大简化了代码量
02.使用IOC来降低主业务之间的耦合度
03.使用AOP来降低主业务和系统级业务之间的耦合度
04.非侵入式框架
001.如果我们要实现某些功能,但是必须实现或者继承某个接口或类!
这种方式就是 侵入式!
002.如果我们要实现某些功能,不需要显式的实现或者继承某个接口或类!
我们感觉不到在使用框架的某个功能!框架自身会自动映射!
05.一站式开发框架
001.先去A饭店吃饭
002.再去B娱乐中心唱歌
003.再去C会所按摩
现在直接去D商务会所 ==》完成 吃饭 唱歌 按摩 三个功能!
Struts2 Spring mvc
Spring Spring
Hibernate Spring JDBC
2. Spring的核心
1.IOC
1.IOC (Inversion Of Control,控制反转)
在service层创建出来了dao层的实例对象! 控制权在service! 安全吗?耦合不?不好!!!
现在创建dao层对象的任务 交给Spring容器管理!控制权在Spring容器!
控制权由我们程序本身交给spring容器的这个行为====》控制反转!
Spring容器是咩???
01.负责创建项目中所有的对象(bean)
02.管理对象之间的各种关系
03.spring的核心配置文件
DI(Dependency Injection,依赖注入)
service层的new StudentDaoImpl()被删除,dao的对象是Spring容器来创建的!
Spring容器把创建的dao层对象 通过setDao()注入到对象中!这个过程就是依赖注入!
DI是IOC的一种具体实现!
2.AOP
2.AOP(Aspect Oriented Programing,面向切面编程) 底层是动态代理设计模式
01.切面 (Aspect):系统级业务,对主业务进行增强的方法!
02.切入点 (PointCut): 把系统级业务织入到主业务上,主业务方法就叫切入点
03.连接点 (JoinPoint):所有的主业务方法
04.织入 (Weaving):把系统级业务放到主业务上的过程
05.目标对象 (Target): 调用主业务的对象
StudentDao dao=new StudentDaoImpl();
dao就是目标对象
dao.eat();
06.通知 (Advice):是切面的一种实现,定义了织入的时间!
07.顾问 (Advisor):是切面的一种实现,定义了织入的时间,位置!
通知是顾问一个属性! 顾问包含通知!
3.Spring体系图
欲知后事如何,请看下集
Spring(一)--Spring简介的更多相关文章
- Spring 系列: Spring 框架简介 -7个部分
Spring 系列: Spring 框架简介 Spring AOP 和 IOC 容器入门 在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级 ...
- Spring Web Flow 简介
Spring Web Flow 简介 博客分类: 转载 SSH 最近在TSS上看到了一片介绍Spring Web Flow的文章,顺便就翻译了下来,SWF的正式版估计要到6月份才能看到了,目前的例子都 ...
- Spring 系列: Spring 框架简介(转载)
Spring 系列: Spring 框架简介 http://www.ibm.com/developerworks/cn/java/wa-spring1/ Spring AOP 和 IOC 容器入门 在 ...
- Spring中AOP简介与切面编程的使用
Spring中AOP简介与使用 什么是AOP? Aspect Oriented Programming(AOP),多译作 "面向切面编程",也就是说,对一段程序,从侧面插入,进行操 ...
- Unit03: Spring Web MVC简介 、 基于XML配置的MVC应用 、 基于注解配置的MVC应用
Unit03: Spring Web MVC简介 . 基于XML配置的MVC应用 . 基于注解配置的MVC应用 springmvc (1)springmvc是什么? 是一个mvc框架,用来简化基于mv ...
- spring 拦截器简介
spring 拦截器简介 常见应用场景 1.日志记录:记录请求信息的日志,以便进行信息监控.信息统计.计算PV(Page View)等.2.权限检查:如登录检测,进入处理器检测检测是否登录,如果没有直 ...
- Spring HTTP invoker简介
Spring HTTP invoker简介 Spring HTTP invoker是spring框架中的一个远程调用模型,执行基于HTTP的远程调用(意味着可以通过防火墙),并使用java的序列化机制 ...
- Spring Boot 之Spring data JPA简介
文章目录 添加依赖 添加entity bean 创建 Dao Spring Data Configuration 测试 Spring Boot 之Spring data JPA简介 JPA的全称是Ja ...
- spring cloud要点简介及常用组件
spring cloud基于spring boot spring cloud是通过包装其他技术框架实现的,例如OSS组件,实现了一套通过基于注解.java配置和基于模板开发的微服务框架. spring ...
- Spring Framework体系结构简介
说明:以下转自Spring官方文档,用的版本为4.3.11版本. 一.引用官方文档 2.2.1核心集装箱 所述核心容器由以下部分组成spring-core, spring-beans,spring-c ...
随机推荐
- 20.logging模块
# __________________________________________________ # 创建一个logger logger = logging.getLogger() logge ...
- [人物存档]【AI少女】【捏脸数据】1224今日份的推荐
点击下载(城通网盘):AISChaF_20191111222714074.png 点击下载(城通网盘):AISChaF_20191108141610951.png
- 工作中常用的Linux命令:crontab命令,定时任务执行命令
本文链接:http://www.cnblogs.com/MartinChentf/p/6060252.html (转载请注明出处) crontab是一个用来设置.删除或显示供守护进程cron执行的定时 ...
- HTML中的表格和图像总结
㈠表格 ⑴表格的基本结构 ①表格的基本标签有:table标签(表格),tr标签(行),td标签(单元格).<tr>标签和<td>标签都要在表格的开始标签<table> ...
- 盒子模型的overflow属性,border属性,padding与margin属性
今天要写的是CSS布局—盒子模型 首先说一下CSS的整体布局: 它包括容器(container),页眉(header),导航条(navbar),页面主要内容(main),菜单(menu),主要内容(c ...
- UE4添加模块
添加模块在这篇文章里已经有详细的描述了: https://orfeasel.com/creating-custom-modules/ 但是这篇文章中少写了一个步骤: 最后要在 <工程名>E ...
- git远程相关
git remote add origin git仓库地址 // 添加了远程仓库 git remote remove origin // 移除远程仓库 git push -u origin maste ...
- JS框架_(Laydate.js)简单实现日期日历
百度云盘 传送门 密码:71hf JavaScript日期与时间组件_____laydate.js 日期日历效果: <!DOCTYPE html> <html> <hea ...
- LeetCode 15. 三数之和(3Sum)
题目描述 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中不可以包含重复 ...
- 创建的项目如果没有src/main/resources文件夹,如何解决?
这是刚创建的一个maven项目,由此可以看见,项目并没有存放配置文件的src/main/resources文件夹? 解决方案: (1)选中项目,右键单击,如图所示选择:Build Path --> ...
