JAVA通过注解自动执行某个方法,给一个例子
时间: 2023-06-04 07:07:46 浏览: 81
好的,关于Java通过注解自动执行某个方法的例子,请看下面的代码:
定义一个注解:
```
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface AutoExecute {
int times() default 1;
}
```
上面的代码定义了一个注解AutoExecute,它只能用在方法上,并且可以设置一个参数times。
下面是一个使用AutoExecute注解的例子:
```
public class UserService {
@AutoExecute(times = 3)
public void addUser(User user){
// 省略具体实现
}
// 省略其他方法
}
```
在上面的例子中,我们将AutoExecute注解用在了addUser方法上,并且设置了它执行的次数为3。
下面是一个自动执行AutoExecute注解的例子:
```
public class AutoExecutor {
public static void execute(Object obj){
Class clazz = obj.getClass();
Method[] methods = clazz.getDeclaredMethods();
for(Method method : methods){
AutoExecute autoExecute = method.getAnnotation(AutoExecute.class);
if(autoExecute != null){
int times = autoExecute.times();
for(int i = 0; i < times; i++){
try {
method.invoke(obj);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
}
}
}
```
在上面的例子中,我们定义了一个AutoExecutor类,它可以自动执行使用AutoExecute注解的方法。我们可以这样来使用它:
```
public static void main(String[] args) {
UserService userService = new UserService();
AutoExecutor.execute(userService);
}
```
上面的代码会自动执行UserService中使用AutoExecute注解的方法,其中addUser方法会被执行3次。