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 ...
随机推荐
- CF293E Close Vertices 点分治+树状数组
开始zz写了一个主席树,后来发现写个树状数组就行~ #include <cstdio> #include <vector> #include <algorithm> ...
- 深度学习笔记(十二)车道线检测 LaneNet
论文:Towards End-to-End Lane Detection: an Instance Segmentation Approach 代码:https://github.com/MaybeS ...
- TCP序列号和确认号
TCP序列号和确认号详解 在网络分析中,读懂TCP序列号和确认号在的变化趋势,可以帮助我们学习TCP协议以及排查通讯故障,如通过查看序列号和确认号可以确定数据传输是否乱序.但我在查阅了当前很多资料后发 ...
- 上传本地文件到linux
Linux 命令行上传文件 Linux服务器,硬盘坏了,更换硬盘后,重装了好像是Foreda v22的操作系统,我在/var/www/html/目录下新建了我的个人文件夹 kma,然后我在此kma文件 ...
- C++入门经典-例2.13-左移运算
1:代码如下: // 2.13.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using ...
- LeetCode 46. 全排列(Permutations)
题目描述 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [ ...
- js函数收集
常见js函数收集: 转自:http://www.qdfuns.com/notes/36030/2eb2d45cccd4e62020b0a6f0586390af.html //运动框架 function ...
- SHELL中执行Oracle SQL语句查询性能视图
数据库日志是否报错信息 vi check_log.sh #!/bin/bash # Created : 2019.10.10 # Updated : # Author : # Description ...
- Mysql查询语句中字符型字段不区分大小写解决方法
项目中和前端联调的时候,发现Mysql查询语句中字符型字段值过滤是不区分大小写的,之前没有关注过这个设置,特意去网上看了下,原因是Mysql中“COLLATE”属性区分大小写,而该属性默认值为“utf ...
- JavaScript 积累
1. 基本类型值在内存中占据固定大小的空间,因此被保存在栈空间中: 2. 引用类型的值是对象,保存在堆空间中: 3. 从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本:从一个变量向另一个 ...