SSM 五:Spring核心概念
第五章:Spring核心概念
一.Spring Ioc
优点:
1.低侵入式设计
2.独立于各种应用服务器
3.依赖注入特性将组建关系透明化,降低耦合度
4.面向切面编程的特性允许将通用性任务集中式处理
5:使用第三方框架的良好整合
理解:控制反转:也称依赖注入,是面向切面编程中的一种设计理念,用来降低程序之间的代码耦合度的。
什么是依赖:在代码中一般指通过局部变量,方法参数,返回值等建立的对于其他对象的调用关系。
二:理解面向切面编程:
1面向切面编程(aop)是软件编程思想发展到一定阶段产物,是对面向对象编程(oop)的有益补充
2.面向切面编程设计思想来源于代理设计模式
3.基本概念
切面(Asoect):一个模块化的横切逻辑(或称横切关注点)可能会横切多个对象
连接点:(Join Point)程序执行中的某个具体的执行点。
增强处理(Advice)切面在某个特定链接点上执行的代码逻辑
切入点(Pointcut)对链接点特征进行描述,可以使用正则表达式
目标对象(Target object)被一个或者多个切面增强的对象
AOP代理(aop proxy):由aop狂所创建的对象,实现增强处理方法等功能
织入(Weaving)将增强处理链接到应用程序中的类型或对象上的过程
前置增强,后置增强,环绕增强,异常抛出增强,最终增强类型
三:切入点的表达式(execution)分别显示以下几种
Public * aa(); “*表示匹配所有类型的返回值”
Public void *();“*表示匹配所有的方法名”
Public void aa(..);“..表示匹配所有参和类型”
*com.service.*.*(..):这个表示匹配com.service包下所有类的所有方法
*
com.service..*.*(..):这个表示匹配com.service包及其包下的所有类的所有方法
SSM 五:Spring核心概念的更多相关文章
- Spring 核心概念
Spring 核心概念 引言 本文主要介绍 Spring 源码中使用到的一些核心类 1. BeanDefinition BeanDefinition表示Bean定义,BeanDefinition 中存 ...
- 第一章 spring核心概念
一.Spring作用:管理项目中各种业务Bean(service类.Dao类.Action类),实例化类,属性赋值 二.Spring IOC(Inversion of Control )控制反转,也被 ...
- Spring系列(一):Spring核心概念
一.Spring概念 Spring是一种多层的J2EE应用程序框架,其核心就是管理资源组件以及依赖关系,Spring框架为现代基于java的企业应用程序提供了一个全面的编程和配置模型. 二.Sprin ...
- Spring核心概念和案例
一.Spring概念 1.Spring框架概述 轻量级的Java EE开源框架,它是由Rod Johnson为了解决企业应用程序开发的复杂性而创建, Spring框架提供了一个开发平台,用于整合其他技 ...
- 第五章 Spring核心概念
5.1.1 企业级应用开发 企业级应用是指那些为商业组织,大型企业而创建部署的解决方案及应用,大型企业级应用的结构复杂,涉及的外部资源众多,事务密集,数据规模大,用户数量多,有较强的安全性考虑 ...
- Spring核心概念之AOP
一.AOP 的概念 AOP(Aspect Oriented Programming)的缩写,面向切面编程,主要作用就是对代码进行增强处理. 理解面向切面编程的含义:就是在不改变原有程序的基础上为代码增 ...
- Spring核心概念(一)
1.解决JavaEE的轻量级框架. 2.环境搭建 第一步:导入spring的jar包 第二步:导入配置文件(一般写在resource下面) 第三步:创建一个类(bean) 第四步:在主配置文件中注入这 ...
- Spring 核心概念以及入门教程
初始Spring 在学习Spring之前我们首先要了解一下企业级应用.企业级应用是指那些为商业组织,大型企业而创建并部署的解决方案及应用. 这些大型企业级应用的结构复杂,涉及的外部资源众多,事务密集, ...
- Spring核心概念
Spring是一个轻量级的企业级框架,提供了loc容器,aop实现,DAO/OR支持,Web集成等功能,目标是使现有的JAVA EE技术更易用,并促进良好的编程习惯. 依赖注入让组件之间以配置文件的形 ...
随机推荐
- 从头编写 asp.net core 2.0 web api 基础框架 (3)
第一部分:http://www.cnblogs.com/cgzl/p/7637250.html 第二部分:http://www.cnblogs.com/cgzl/p/7640077.html 之前我介 ...
- IDL 存储数组
IDL中的数组在内存中是按行存储的,这是因为IDL最初设计的设计目的是用来处理行扫描卫星数据. 1.一维数组 m个元素的一维数组arr[m]的存储方式为 arr[0]→arr[1]→...→arr[m ...
- wpf 画刷的分类
System.Windows.Media.Brush最上一层画刷 System.Windows.Media.GradientBrush 线性画刷 ,下层主要有两种画刷 System.Windows. ...
- UVa225,Golygons
刘儒家翻译的走出的图形可以自交,不知道大家是怎么理解的,反正我是认为这句话的意思是告诉我允许一个点访问多次 这样是WA的,n=15和n=16时多输出很多数据,应该是不允许自交,也就是不允许一个点访问多 ...
- MongoDB原子操作
MongoDB原子操作常用命令: 1. $set: 用来指定一个键并更新键值,若键不存在则创建并赋值. { $set : { field : value } } 2. $unset: 用来删除一个键. ...
- 温故而知新 Volley源码解读与思考
相比新的网络请求框架Volley真的很落后,一无是处吗,要知道Volley是由google官方推出的,虽然推出的时间很久了,但是其中依然有值得学习的地方. 从命名我们就能看出一些端倪,volley中 ...
- R语言进行机器学习方法及实例(一)
版权声明:本文为博主原创文章,转载请注明出处 机器学习的研究领域是发明计算机算法,把数据转变为智能行为.机器学习和数据挖掘的区别可能是机器学习侧重于执行一个已知的任务,而数据发掘是在大数据中寻找有 ...
- 解决执行sql脚本报错:没有足够的内存继续执行程序。
出现执行sql脚本报错:没有足够的内存继续执行程序.是因为sql脚本过大,大家可能分为多个文件多次执行,这种笨方法可行,不过比较麻烦,大家可以用下面的方式,利用sqlcmd一次就行了: 执行cmd ...
- co源码分析及其实践
本文始发于我的个人博客,如需转载请注明出处. 为了更好的阅读体验,可以直接进去我的个人博客看. 前言 知识储备 阅读本文需要对Generator和Promise有一个基本的了解. 这里我简单地介绍一下 ...
- Spring、SpringMVC、SpringData + JPA 整合详解
原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7759874.html ------------------------------------ ...