springboot的自定义注解功能实现类该怎么写?
我想做一个类属性上的注解,加了后会修改这个类里的方法,实现这个注解功能的类该怎么写?或者该继承什么接口?这个应该和lombok包的@Getter和@Setter的功能实现...
我想做一个类属性上的注解,加了后会修改这个类里的方法,实现这个注解功能的类该怎么写?或者该继承什么接口?这个应该和lombok包的@Getter和@Setter的功能实现类一样的把,我在网上收到过用AOP切面实现的但是这是在方法上进行切面修改的,我想之家在类上修改,或者直接发个@Getter和@Setter功能实现的类给我看看
展开
2个回答
展开全部
定义自定义注解:以角色权限为例。
package com.common.ano;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE} )
public @interface TimeStage {
String value ();
}
定义角色枚举类
package com.common.enu;
public enum Role {
/**
* 管理员
*/
ADMIN("admin"),
/**
* 客户经理
*/
WORKER("worker"),
/**
* 零售客户
*/
RETAIL_CUSTOMER("retail_customer"),
/**
* 维修工人
*/
REPAIR_MAN("repair_man"),
/**
* 环卫工人
*/
CLEANER("cleaner"),
/**
* 用户
*/
USER("user");
Role(String name) {
this.name = name;
}
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
在方法上使用@permission就可以设置方法的访问权限。
@ApiOperation("管理员删除 VR / 修改 VR")
@Permission(role = Role.ADMIN )
@PostMapping("update.action")
public ResultData deleteVR(Facility fac) {
info("更新设施:"+fac);
return quickReturn( mapper.updateByPrimaryKey(fac));
}
package com.common.ano;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE} )
public @interface TimeStage {
String value ();
}
定义角色枚举类
package com.common.enu;
public enum Role {
/**
* 管理员
*/
ADMIN("admin"),
/**
* 客户经理
*/
WORKER("worker"),
/**
* 零售客户
*/
RETAIL_CUSTOMER("retail_customer"),
/**
* 维修工人
*/
REPAIR_MAN("repair_man"),
/**
* 环卫工人
*/
CLEANER("cleaner"),
/**
* 用户
*/
USER("user");
Role(String name) {
this.name = name;
}
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
在方法上使用@permission就可以设置方法的访问权限。
@ApiOperation("管理员删除 VR / 修改 VR")
@Permission(role = Role.ADMIN )
@PostMapping("update.action")
public ResultData deleteVR(Facility fac) {
info("更新设施:"+fac);
return quickReturn( mapper.updateByPrimaryKey(fac));
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我看见你我就头疼,它的实现该怎么写我也不知道,麻烦抱歉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询