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技术更易用,并促进良好的编程习惯. 依赖注入让组件之间以配置文件的形 ...
随机推荐
- 跨平台的 NodeJS 组件解决 .NetCore 不支持 System.Drawing图形功能的若干问题
问题 生成缩略图 生成验证码 生成二维码 给图片加水印 外部引用 Node 不解释 https://nodejs.org/en/download/ sharp 高性能缩略图 https://gi ...
- 使用测试思路快速学习Python-适合测试工程师的学习方法
本文采用Python doctest单元测试的方法,直接用代码学习代码,滚雪球式的迭代学习. doctest是一个python标准库自带的轻量单元测试工具,适合实现一些简单的单元测试.它可以在docs ...
- Scala类型系统(sudden thought)
http://docs.scala-lang.org/tour/lower-type-bounds.html中有一段代码 trait Node[+B] { def prepend(elem: B): ...
- 组件 layui 常用控件输入框
一.普通输入框 input <div class="layui-form-item"> <label class="layui-form-label&q ...
- ReactiveCocoa_v2.5 源码解析之架构总览
ReactiveCocoa 是一个 iOS 中的函数式响应式编程框架,它受 Functional Reactive Programming 的启发,是 Justin Spahr-Summers 和 J ...
- ABAP 在屏幕上显示图片
1.se78 上传 或 预览图片 图片预览 2.程序代码 定义各变量 DATA: H_PICTURE TYPE REF TO CL_GUI_PICTURE, H_PIC_CONTAINER TYPE ...
- 初学python之,IDLE安装
首先新手上路,写的第一篇博客,希望大家不要吐槽. 1.首先在python官网下载最新python版本 https://www.python.org/(注意根据自己的操作系统来选版本) 安装很简单傻瓜式 ...
- KDevelop使用笔记【中文】
师从官方文档: https://userbase.kde.org/KDevelop4/Manual https://docs.kde.org/trunk5/en/extragear-kdevelop/ ...
- Servlet中路径信息总结
./ 当前目录 ../ 父级目录 / 根目录 资源寻找都是依靠路径,资源存储方式是按照哈希表运算的,所以路径的计算其实就是哈希值的计算. servlet中,所有路径的配置都要用绝对路径. 什么是绝对路 ...
- 成为一名Java高级工程师你需要学什么
宏观上: 1.技术广度方面至少要精通多门开源技术吧,研究过struts\spring等的源码.2.项目经验方面从头到尾跟过几个大项目,头是指需求阶段,包括需求调研.尾是指上线交付之后,包括维护阶段.3 ...