java 自定义注解与示例
2024-10-21 05:56:46
自定义注解
@Target(value = {ElementType.METHOD})// 使用范围:方法
@Retention(RetentionPolicy.RUNTIME)// 作用域:运行时有效
@Documented // 可以被抽取到API文档中
@Inherited // 可以被子类继承。
@interface MyAnnotation {
// 注解的参数:参数类型 + 参数名();
String name() default "";// 需要输入一个String类型,不输入默认空字符串。
int age() default 0;// 需要输入一个int类型,不输入默认0。
int id() default -1;// 默认值-1,代表不存在。
String[] schools();// 需要一个String类型数组
}
lombok @Data
RetentionPolicy.SOURCE
编译后的 class 中没有注解,并且反射也拿不到 @data 注解
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.SOURCE)
public @interface Data {
String staticConstructor() default "";
}
springmvc @RestController
标注了 @Controller 和 @ResponseBody
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {
@AliasFor(
annotation = Controller.class
)
String value() default "";
}
spring @SpringbootApplication
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
// 可以作为配置类,这个注解上有 @Configuration
@SpringBootConfiguration
// 开启自动配置
@EnableAutoConfiguration
// 扫描规则
@ComponentScan(
excludeFilters = {@Filter(
type = FilterType.CUSTOM,
classes = {TypeExcludeFilter.class}
), @Filter(
type = FilterType.CUSTOM,
classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication{}
最新文章
- js第三方
- C# - 多线程 之 信号系统
- 老司机学新平台 - Xamarin Forms开发框架之MvvmCross插件精选
- SQL Server存储过程Return、output参数及使用技巧
- 【iCore2双核心板视频教程三】iM_LAN 100M 以太网模块TCP压力测试(更新视频教程)
- 如何禁止在DBGRID末位自动添加一行记录
- Windows 32 程序设计
- [置顶] 炎炎夏日,给你一次极爽的开发体验!——统一开发环境功能升级优化,正式上线V2.0!
- InstallShield Basic MSI工程常见问题解答[转]
- Xcode 常用快捷键及代码自动排版 二
- (?m) 标记
- 基于MVC3下拉列表联动(JQuery)
- 关于div+css排版布局中需注意的细节问题
- 010-Python-socket编程
- Windows 下通过DOS命令获取指定文件夹下所有文件的全路径
- PyQT5-QCheckBox按钮
- NOIP2017滚粗记【下】
- github删除仓库
- hdu 4676 Sum Of Gcd 莫队+phi反演
- streamsets microservice pipeline 试用
热门文章
- vue中使用echarts来绘制中国地图,NuxtJS制作疫情地图,内有详细注释,我就懒得解释了,vue cli制作疫情地图 代码略有不同哦~~~
- Unity屏幕永远保持为固定分辨率
- Kubernetes(k8s)控制器(一):deployment
- 基于APIView写接口
- windows环境下部署一个Jenkins工程
- dev C++ 调试卡住/遇到endl函数卡住
- Gitee + Sourcetree 配置公钥 SSH
- SQLSERVER 临时表和表变量到底有什么区别?
- java7.14
- Vue框架:9,Vue3的用法,setup函数,ref和reactive,计算属性和监听属性,生命周期,toRefs,script setup的作用和lang,Vue后台管理模板