spring概念深入学习
yizhiyan 浏览(91)
1.spring概念
    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包中类以及所有方法

打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注

最新文章