注释函数并检测何时在运行时调用它-Kotlin / Java

时间:2018-09-18 13:13:15

标签: java android reflection kotlin annotations

您好,让我尝试澄清一下:我想做几乎与Android批注相同的事情。例如:

@RequiresApi(Build.VERSION_CODES.LOLLIPOP)
public void someFunction() {
}

我想在运行时做类似的事情。对一个函数进行注释,并在调用该函数时进行处理(可能使用反射),然后根据结果继续运行是否运行注释的函数。像这样:

@IsLoggedIn()
public void someFunction() {
}

仅当用户登录后,才会执行someFunction()函数。

1 个答案:

答案 0 :(得分:0)

您想要做的事情在Java生态系统中经常发生,尤其是在Spring项目中。您将要看的是Aspect Orientated Programming,尤其是在spring中如何实现面向方面的编程。

您怀疑这需要反射来包装带注释的方法,因此可以在调用该方法之前或之后执行其他逻辑。如果您感兴趣,可以编写一个方面来检查用户是否在调用包装的方法之前登录。