zoukankan      html  css  js  c++  java
  • Spring IOC和AOP 基础

    1 spring中注入资源是通过描述来实现的,在 spring 中是通过注解或者 XML 描述。spring 中IOC 注入方式有三种

    1)构造方法注入

    2)setter 注入

    3)接口注入

    1.1)构造注入主要是依靠类的构造方法进行注入。比如角色类 Role, 构造方法中有三个属性,编号ID、角色名roleName和备注note

    <bean id="role" class="Role">
        <constructor-arg index="0" value="0">
        <constructor-arg index="1" value="CEO">
        <constructor-arg index="2" value="公司老大">
    </bean>

    1.2)setter 注入,这种方式更灵活。上面的例子,需要有无参构造函数,各个属性需要有setter 方法。

    <bean id="role" class="Role">
        <property name="id" value="0">
        <property name="roleName" value="CEO">
        <property name="note" value="公司老大">
    </bean>

    2 Spring 的 AOP 是基于动态代理实现的,Spring 的数据库事务是在进入 invoke 方法里面然后判断是否需要拦截,需要的时候才根据注解和配置生成数据库事务切面上下文。

    注意:如果在事务里面调用自己其他事务方法,被调用的方法上的注解不起作用,仍然是第一个事务的注解。

    是因为自调用是新的代理对象的,是原始对象的调用。所以根本就没有 invoke 方法去解析注解和配置生成数据库切面的上下文,独立事务也无从谈起。

    如果想要insertRole 方法配置生效,就需要独立写一个类,再去调用 insertRole 方法。

  • 相关阅读:
    如何在iTerm2中配置oh my zsh?
    sublime中格式化jsx文件
    ES6 new syntax of Literal
    ES6 new syntax of Rest and Spread Operators
    How to preview html file in our browser at sublime text?
    ES6 new syntax of Default Function Parameters
    ES6 new syntax of Arrow Function
    七牛云2018春招笔试题
    Spring-使用注解开发(十二)
    Spring-声明式事物(十一)
  • 原文地址:https://www.cnblogs.com/zhaopengcheng/p/7151076.html
Copyright © 2011-2022 走看看