深入理解Java的Annotation系列-第四部分 注解的应用-使用注解实现权限管理

本文深入探讨了如何使用Java注解(@Annotation)实现权限管理系统。首先自定义了一个名为`Authority`的注解,声明在业务逻辑方法上以标注权限信息。接着,通过查询用户和其权限,解析注解信息并与之对比,以此来判断用户是否具备执行特定操作的权限。文章详细介绍了整个实现过程,包括关键类和方法的设计,并提供了测试案例。
摘要由CSDN通过智能技术生成

一、整体思路

1、先自定义一个用于权限管理的注解

   @Retention(RetentionPolicy.RUNTIME)

@Target(ElementType.METHOD)

public @interface Authority {

     String module();//模块

     String privilege();//权限,如果是多个权限,可以是数组

    

}

2、在对应的业务逻辑方法上使用注解声明权限

  package cn.com.bochy.biz;

import cn.com.bochy.authority.annotation.Authority;

/*

 * 具体业务逻辑类

 */

public class EmployeeManager {

    @Authority(module="employee2",privilege="query")

    public void  queryAll() {

       //实际代码应从数据库中查询出数据

        System.out.println("查询所有的雇员信息");

    }

}

3、查询用户和用户对应的权限

4、解析出注解信息,和查询用户和用户对应的权限进行比较,看是否具有对应权限

二、具体实现

1、架构

  

2、代码实现

1、Authority.java

package cn.com.bochy.authority.annotation;

import java.lang.annotation.ElementType;

import java.lang.annotation.Retention;

import java.lang.annotation.RetentionPolicy;

import java.lang.annotation.Target;

/*

 * 自定义用于权限管理的注解

 * @author:chenzhengfeng

 *

 */

@Retention(RetentionPolicy.RUNTIME)

@Target(ElementType.METHOD)

public @interface Authority {

     String module();//模块

     String privilege();//权限,如果是多个权限,可以是数组

    

}

2、EmployeeManager.java

package cn.com.bochy.biz;

import cn.com.bochy.authority.annotation.Authority;

/*

 * 具体业务逻辑类

 */

public class EmployeeManager {

    @Authority(module="employee2",privilege="query")

    public void  queryAll() {

       //实际代码应从数据库中查询出数据

        System.<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值