在 Spring 等各种 java 框架中注释有什么用?
What is the use of Annotations in various java frameworks like Spring?
我是 Spring 框架的新手,在很多地方都看到过注释。我了解内置 Java 注释,例如 @Deprecated
、@Override
、@SuppressWarnings
.
我有以下问题:
- 是否需要了解创建自定义注释才能理解 Spring 框架?
- 为什么需要注释?
对于第一个问题:你不需要知道如何编写注解来使用它。
第二个:
使用注释的原因有很多:
- 根据注释在运行时执行代码(例如 spring 中的
@Transactional
)
- 根据注释在编译期间创建不同的代码(例如
@AspectJ
)
- 评估代码(例如
javac
或 FindBugs)
- ...
注释可以做很多事情。
注释用于描述元素并阐明它们的含义。在将它们包含在内之前,该信息必须保存在其他地方,通常是一个文件。
此外,了解 java 功能的工作原理总是有用的。因此,尽管您不需要知道如何创建自己的注释,但它可能会让您对内部结构有所了解。
阅读这里:
How and where are Annotations used in Java?
- 您无需了解自定义注释即可学习 Spring 注释。
- 对于 Spring 注释,您可以从 this link 开始,然后随着您的学习进一步探索。它解释了 usage/need 到每个 Spring 注释的开始。
虽然没有真正回答您的问题(其他人已经回答过),但应该可以为您提供足够的信息来轻松地使用它们。
要使注释真正有用,您需要代码来查找它们并相应地处理它们。编写自己的自定义注释也是如此。
带有 @Transactional
的简化示例应该让您清楚。当您将 @Transactional
放在 bean 方法上时,会有一些 Spring 代码扫描这些 bean 和方法,并选择您的注释方法。每当调用该方法时(现在不会进入代理),Spring 打开一个事务,执行您的方法,然后关闭事务。您只需在方法上添加注释即可获得所有这些。
因此,每个注释都带有处理其所需行为的代码。
我是 Spring 框架的新手,在很多地方都看到过注释。我了解内置 Java 注释,例如 @Deprecated
、@Override
、@SuppressWarnings
.
我有以下问题:
- 是否需要了解创建自定义注释才能理解 Spring 框架?
- 为什么需要注释?
对于第一个问题:你不需要知道如何编写注解来使用它。
第二个:
使用注释的原因有很多:
- 根据注释在运行时执行代码(例如 spring 中的
@Transactional
) - 根据注释在编译期间创建不同的代码(例如
@AspectJ
) - 评估代码(例如
javac
或 FindBugs) - ...
注释可以做很多事情。
注释用于描述元素并阐明它们的含义。在将它们包含在内之前,该信息必须保存在其他地方,通常是一个文件。
此外,了解 java 功能的工作原理总是有用的。因此,尽管您不需要知道如何创建自己的注释,但它可能会让您对内部结构有所了解。
阅读这里:
How and where are Annotations used in Java?
- 您无需了解自定义注释即可学习 Spring 注释。
- 对于 Spring 注释,您可以从 this link 开始,然后随着您的学习进一步探索。它解释了 usage/need 到每个 Spring 注释的开始。
虽然没有真正回答您的问题(其他人已经回答过),但应该可以为您提供足够的信息来轻松地使用它们。
要使注释真正有用,您需要代码来查找它们并相应地处理它们。编写自己的自定义注释也是如此。
带有 @Transactional
的简化示例应该让您清楚。当您将 @Transactional
放在 bean 方法上时,会有一些 Spring 代码扫描这些 bean 和方法,并选择您的注释方法。每当调用该方法时(现在不会进入代理),Spring 打开一个事务,执行您的方法,然后关闭事务。您只需在方法上添加注释即可获得所有这些。
因此,每个注释都带有处理其所需行为的代码。