类方法属性 特征
特性是一个类 只要继承Attribute 就是一个特性类
用特性来标记元素 编译时生成到metadata里 平时不影响程序的运行
除非主动用反射去查找 可以得到一些额外的信息 操作 然后提供了更丰富的扩展空间
特性可以在不破坏类型封装的前提下 增加额外的功能
特性是为了实现AOP AOP:面向切面编程
第一个参数 表示什么东西可以加这个特性 第二个表示同一个东西能否写两个当前特性 一般都是false
先if判断当前对象类型是否存在customerAttribute特性
存在就去实例化这个特性对象 进行操作
找到当前对象类型的所有构造函数
判断是否存在改特性
找到该对象类型的某个方法
判断该方法是否存在某个特性
通过特性+反射来检查权限 如果存在这个特性 就判断是否有权限
不存在这个特性就直接执行