spring 是一个轻量级框架,主要负责管理java bean(servlet,service,dao但是不包括entity)。本质是一个管理容器。
spring 核心概念 IOC
spring 相关知识:IOC(DI),AOP.
2.IOC
1、概念
IOC:控制反转。
控制:如UserService 调用UserDao的方法,必须先new 一个UserDao。那么UserService负责UserD奥的所有生命周期(UserDao从创建到消失),这就是UserService控制了UserDao。
控制反转:将组建对象(UserDao,UserService)的控制权(new 创建)从代码本身(UserService、测试类)移除到外部容器(spring 管理容器)。
3.DI
1、概念
DI:依赖注入。通过setter方法注入bean节点(property)需要的属性值。
如:注入UserService bean节点,这个bean节点属性userDao需要引用赋值spring中 bean节点id userDao的值。
4.AOP
1、概念
AOP:面向切面编程,类似于oop
AOP是基于代理模式实现的。
2、术语
1)增强(Advice)
需要在方法前或者方法后增加的内容。增强分为前置增强,后置增强,最终增强,异常增强,环绕增强。
2)切入点(Pointcut)
切入点:被增强的方法。
3)织入(Weaving)
织入:将增强配置到织入点的过程。
4)连接点(JoinPoint)
连接点:是内置对象,里面有被增强的方法的方法名、参数等。
连接点样例:
public void beforeAddUser(JoinPoint jp){
//获取方法名
String funName=jp.getSignature().getName();
//获取到被调用方法的参数
Object[] args=jp.getArgs();
//获取用户对象
User use=(User)args[0];
use.setuName("laji");
System.out.println(funName+"前置增强被调用————");
}
3、实现aop步骤
1)编写增强类与增强方法,并将增强类注入到spring中。
2)定义切入点,利用aop命名空间来实现的。
3)织入。将增强配置到切入点。
4、切入带你表达式
<aop:pointcut expression="变大时" id=""/>
语法:execution (被增强方法))
execution (返回值 包名.类名.方法名(参数列表))
1)execution (void org.smbms.dao.UserDao getCnt())
//只增强org.smbms.dao.UserDao getCnt方法
2)execution (* org.smbms.dao.UserDao.*(..))
//只增强 org.smbms.dao.UserDao 所有方法
3)execution (* *..*.dao.UserDao.*(..)) //*名称 ..可写可不写(未知个数)
//增强 所有包下的dao包中类以及所有方法
-
支烟网页侧滑JS插件 先上效果图: 功能介绍: 1.实现手机侧滑导航栏 2.可自动设置左滑还是右滑 3.支持侧滑和遮罩2种 4.使您 […]
-
JAVA多线程之接口启动 1.实现Runnable接口中的run方法 public class Threade implements R […]
-
IntelliJ Idea 常用快捷键列表 IntelliJ Idea 常用快捷键列表 Ctrl+Shift + Enter,语句完成 “!”,否定完成, […]
-
Spring Mvc内部跳转 // 内部跳转(地址栏不变) return “forward:disb.action” […]
-
springmvc解决中文乱码问题 1.在代码中添加 request.setCharacterEncoding("utf-8"); respons […]
-
nginx高并发分布式搭建 1.首先你得有2台或2台以上的服务器,这里我使用一台虚拟机和本机 2.在两台tomcat服务器上面导入相同的项 […]
发表评论