Spring的标签及标签的属性说明

2024-01-09 18:57:21

bean

作用:配置javaBean,让spring容器创建管理.默认调用类中无参数的构造方法创建对象.

bean的属性

属性说明
id

唯一标识切面的名称(map的key,必须保持唯一,用于获取对象)

class

全类名,是map的value,用于通过反射创建对象

scope设置bean的作用范围
取值:
sigleton:单例.默认值
prototype:多例.
request:web项目中,将对象存入request域中.
session:web项目中,将对象存入session域中.
globalssession:web项目中,应用在集群环境,如果没有集群环境,相当于session.
init-method指定类中初始化方法的名称,在构造方法执行完毕后立即执行.
destroy-method指定类中销毁方法的名称,在销毁spring容器前执行.
factory-method指定实例工厂方法
factory-bean指定实例工厂对象
<bean id="userService" class="com.by.service.UserServiceImpl" scope="prototype" init-method="init" destroy-method="destroy">

constructor-arg

作用:通过构造方法给成员变量赋值

属性说明
index指定成员变量在构造方法参数列表中的索引
name指定成员变量在构造方法参数列表中的名称
type指定成员变量的类型
value给java简单类型成员变量赋值(八种基本数据类型+字符串)
ref

bean标签的id,注入的是ioc容器中的bean对象

 <!--
           构造方法注入:要求必须提供构造方法
                ==给谁赋值:==
                   name="userDao":构造方法中的参数名称
                   index="0":构造方法中的索引位置
                 ==赋什么值:==
                   ref="userDao":bean标签的id,注入的是ioc容器中的bean对象
                   value="你好":注入的是基本数据类型和String类型
       -->        
<constructor-arg name="userDao" ref="userDao"></constructor-arg>
<constructor-arg name="msg" value="你好"></constructor-arg>

property?

作用: 通过set方法给成员变量赋值

属性说明
name指定成员变量的名称
value给java简单类型成员变量赋值(八种基本数据类型+字符串)
refbean标签的id,注入的是ioc容器中的bean对象
<!--
            set方法注入:要求必须提供set方法
                ==给谁赋值:==
                name="userDao":pojo的属性名,userDao====>setUserDao
                ==赋什么值:==
                   ref="userDao":bean标签的id,注入的是ioc容器中的bean对象
                   value="set注入":注入的是基本数据类型和String类型
         -->        
<property name="userDao" ref="userDao"></property>
<property name="msg" value="set注入"></property>

aop:config?

作用: 声明aop配置

aop:aspect

作用: 配置切面

属性说明
id唯一标识切面的名称(map的key,必须保持唯一,用于获取对象)
refbean标签的id,注入的是ioc容器中的bean对象

aop:pointcut?

作用: 配置切入点表达式

属性说明
id唯一标识切入点表达式名称
expression定义切入点表达式
<!--        切点表达式-->
<!--        表达式语法:-->
<!--        execution([修饰符] 返回值类型 包名.类名.方法名(参数))-->
        <aop:pointcut id="pointcut" expression="execution(* com.by.service.*.*(..))"/>

aop:before?

作用: 配置前置通知

属性说明
method指定通知方法名称
pointcut定义切入点表达式
pointcut-ref引用切入点表达式的id

aop:after-returning

作用: 配置后置通知

属性说明
method指定通知方法名称
pointcut定义切入点表达式
pointcut-ref引用切入点表达式的id

aop:after-throwing

作用: 配置异常通知

属性说明
method指定通知方法名称
pointcut定义切入点表达式
pointcut-ref引用切入点表达式的id

aop:after

作用: 配置最终通知

属性说明
method指定通知方法名称
pointcut定义切入点表达式
pointcut-ref引用切入点表达式的id

aop:around

作用: 配置环绕通知

属性说明
method指定通知方法名称
pointcut定义切入点表达式
pointcut-ref引用切入点表达式的id
<!--增强(advice)-->
    <bean id="MyLogAdvice" class="com.by.advice.MyLogAdvice"></bean>

    <aop:config>
        <!--切点(pointcut)-->
<!--        切点表达式-->
<!--        表达式语法:-->
<!--        execution([修饰符] 返回值类型 包名.类名.方法名(参数))-->
        <aop:pointcut id="pointcut" expression="execution(* com.by.service.*.*(..))"/>
        <!--切面(aspect):把增强应用到切点上-->
        <aop:aspect ref="MyLogAdvice">
<!--            <aop:around method="around" pointcut-ref="pointcut"></aop:around>-->
            <aop:before method="before" pointcut-ref="pointcut"></aop:before>
            <aop:after method="after" pointcut-ref="pointcut"></aop:after>
            <aop:after-throwing method="afterThrowing" pointcut-ref="pointcut"></aop:after-throwing>
            <aop:after-returning method="afterReturning" pointcut-ref="pointcut"></aop:after-returning>
        </aop:aspect>
    </aop:config>

文章来源:https://blog.csdn.net/m0_74007708/article/details/135418398
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。