注解实现SpringAOP

注解实现Springaop

1. 首先需要在配置文件中导入

pom.xml

<dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>com.springsource.org.aspectj.weaver</artifactId>
            <version>1.6.8.RELEASE</version>
        </dependency>
2. 然后导入aop标签

beans.xml

xmlns:aop="http://www.springframework.org/schema/aop"
3. 导入在beans.xml
http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd

第二步:填写配置文件beans.xml

1. 将被代理对象类加入(注:不是接口)
<bean id="us" class="com.xj.aop04.UserService" />
2. 将额外添加的类加入
<bean id="ma" class="com.xj.aop04.MyAspect" />
3. 使用aop标签
<aop:config proxy-target-class="true">

        <!--
            定义一个aop的切点
            第一个 * 表示该包com.qfedu.aop04下所有的任意类
            第二个 * 表示类,指定一个特定的类
            第三个 * 表示方法,指定类的特定方法
            第四个(..) 表示参数,方法的参数指定
        -->

        <aop:pointcut id="pt" expression="execution(* com.qfedu.aop04.*.*(..))" />

        <!--
            通知,将MyAspect与切点关联起来
        -->
        <aop:advisor advice-ref="ma" pointcut-ref="pt" />
    </aop:config>

五种集合的注入(array list set map property)

1. array
<property name="arrays">
            <array>
                <value>java</value>
                <value>java</value><!--允许重复-->
                <value>html5</value>
                <value>python</value>
                <value>testing</value>
            </array>
        </property>
2. list
<property name="list">
            <list>
                <value>zhouxingxing</value>
                <value>zhouxingxing</value><!--允许重复-->
                <value>9527</value>
                <ref bean="obj" />
                <ref bean="stu" />
            </list>
        </property>
3. set
<property name="set">
            <set>
                <value>suwukong</value>
                <value>suwukong</value> <!--该值不会被加入,已经存在-->
                <value>zhubajie</value>
                <value>tangtang</value>
                <value>shaheshang</value>
            </set>
        </property>
4. map
<property name="map">
            <map>
                <entry key="jack" value="杰克"/>      <!--添加方法返回为null-->
                <entry key="jack" value="杰克2"/>     <!--添加方法返回为杰克-->
                <entry key="rose" value="肉丝"/>      <!--添加方法返回为null-->
                <entry key="rose" value="null"/>     <!--添加方法返回为肉丝,map里允许空value-->
                <entry key="null" value="肉丝"/>      <!--map允许空key-->
                <entry key="null" value="null"/>     <!--map里允许key和value同时为null,该方法返回肉丝-->
            </map>
        </property>
5. property
<property name="prop">
            <props>
                <prop key="url">jdbc:mysql://localhost:3306/hello</prop>
                <prop key="driver">com.mysql.jdbc.Driver</prop>
                <prop key="username">root</prop>
                <prop key="password">123456</prop>
            </props>
        </property>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一. Java基础部分.................................................
    wy_sure阅读 3,839评论 0 11
  • Spring 复习 [toc] spring介绍 三层架构中spring位置,连接三层。 spring一站式框架正...
    inke阅读 779评论 0 11
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,516评论 0 13
  • 概述 Spring是什么? Spring是一个开源框架,为了解决企业应用开发的复杂性而创建的,但是现在已经不止于企...
    琅筑阅读 1,207评论 2 8
  • SpringMVC原理分析 Spring Boot学习 5、Hello World探究 1、POM文件 1、父项目...
    jack_jerry阅读 1,362评论 0 1