spring-3-AOP

Posted gnwzj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring-3-AOP相关的知识,希望对你有一定的参考价值。

自定义注解类
1、定义注解类
package anno;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

//此注解依次可以在类 属性 方法进行
@Target(ElementType.TYPE,ElementType.FIELD,ElementType.METHOD)

//运行时可以查看注解信息
@Retention(RetentionPolicy.RUNTIME)
public @interface Entity 
    //注解的参数
    public String value();

  

2、定义dao(模拟映射)

package dao;

import anno.Entity;

@Entity("entity")
public class CityEntity 
    private String id;
    private String name;

    public void setId(String id) 
        this.id = id;
    

    public String getName() 
        return name;
    

    public void setName(String name) 
        this.name = name;
    

    public String getId() 
        return id;
    

  

3、创建公共生成sql工具类
package util;

import anno.Entity;
import dao.CityEntity;

public class UtilSql 
    public static String builSqlStr(Object object)

        Class clazz = object.getClass( );

        // 先判断是否存在注解
        if(clazz.isAnnotationPresent(Entity.class))

            //判断是否是自定义Entity注解
            Entity entity = (Entity) clazz.getAnnotation(Entity.class);

            //获取相关注解传的值
            String tableName = entity.value();
            CityEntity cityEntity = (CityEntity) object;
            String sql = "select * from "+tableName+" where id =‘"+cityEntity.getId()+"‘  and name = ‘"+cityEntity.getName()+"‘";
            return sql;
        
       return "没有获取到相关sql";
    

  

4、测试

package test;

import dao.CityEntity;
import util.UtilSql;

public class Test 
    public static void main(String args[])
        CityEntity cityEntity = new CityEntity();
        cityEntity.setId("1");
        cityEntity.setName("wjw");
        String sql = UtilSql.builSqlStr(cityEntity);
        System.out.println(sql);
    

  

5、测试结果

技术图片

 

6、先关项目截图

技术图片

 

 
Aop是什么

  与OOP对比,AOP是处理一些横切性问题,这些横切性问题不会影响到主逻辑实现的,但是会散落到代码的各个部分,难以维护。AOP就是把这些问题和主业务逻辑分开,达到与主业务逻辑解耦的目的。

 

 

以上是关于spring-3-AOP的主要内容,如果未能解决你的问题,请参考以下文章