常见的注解总结笔记

@SpringBootApplication

@Target注解:元注解之一,描述注解的使用范围。

1.CONSTRUCTOR:用于描述构造器
2.FIELD:用于描述域
3.LOCAL_VARIABLE:用于描述局部变量
4.METHOD:用于描述方法
5.PACKAGE:用于描述包
6.PARAMETER:用于描述参数
7.TYPE:用于描述类、接口(包括注解类型) 或enum声明

@Retention注解:元注解之一,表示注解可存活的时间

SOURCE:注解只保留在源文件,当Java文件编译成class文件注解被遗弃,被编译器hulve

CLASS:注解被保留在class文件,jvm加载class文件时被遗弃

RUNTIME:注解被保存在class文件中,jvm加载class文件之后,任然存在

@Documented注解:元注解之一,指明修饰的注解,只负责标记
@Inherited注解:元注解之一,如果注解在类上,子类自动继承此注解,使用@Inherited声明的注解,只有在类上使用时才有效,对方法属性无效。
@SpringBootConfiguration注解:对@Configuration注解的简单封装,用于定义配置类,可用于替换xml配置文件,被注解的类内部由一个或多个@Bean时,这些方法将被AnnotationConfigApplicationContext或者AnnotationConfigWebApplicationContext类进行扫描,用于构建bean,初始化容器
@EnableAutoConfiguration注解:开启自动配置,自动加载项目中pom.xml文件中引入的依赖项
@ComponentScan注解:用于自动扫描指定包下的所有组件,并将扫描的组件加入到容器中,常见用法为@ComponentScan(basePackages="包名"),扫描包名下的所有组件。
@ImportResource注解:导入spring的配置文件,使spring的配置文件生效,@ImportResource(locations = {"classpath:beans.xml"}),配置类的组合主要发生在跨模块或跨包的配置类引用过程中。
@MapperScan注解:作用:指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类
添加位置:是在Springboot启动类上面添加,例如:@MapperScan(value="com.XXX.XXX.dao.mysql")
@EnableAsync注解:EnableAsync注解的意思是可以异步执行,就是开启多线程的意思。可以标注在方法、类上。
@EnableScheduling注解:通过@EnableScheduling注解开启对计划任务的支持,注解在springboot启动类中用于开启对定时任务的支持

常见的标准Annotation注解

@Override注解:它说明了被标注的方法重载了父类的方法,起到了断言的作用

@Deprecated注解:当一个类、类型或者类型成员使用@Deprecated修饰的话,编译器将不鼓励使用这个被标注的程序元素。(常用来表示该类、类型或者类型成员被弃用)

@SuppressWarnings注解:此注解能告诉Java编译器关闭对类、方法及成员变量的警告。

业务逻辑中常见的注解:

@Controller和@RestController:

1.使用@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面

2.若返回json等内容到页面,则需要加@ResponseBody注解

3.@RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面

@Resource和@Autowired

@Autowired默认按类型装配,属于spring注解,默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false,如:
@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualifier注解进行使用,如下:

@Autowired() @Qualifier("baseDao")    
private BaseDao baseDao;

@Resource是JDK1.6支持的注解,默认按名称进行装配,当注解在字段上,默认取字段名,当按名称找不到匹配的bean时,按照类型去找,但如果name属性一旦指定名称,那么就只按照名称去找

@ResponseBody和@RequestBody
@RequestBody注解:用于将前端传入controller方法的参数,转换为对应的Java对象,
@ResponseBody注解:用于将后端返回的对象按照某种格式,返回给前端(如json,xml等)
@RequestMapping注解:用来映射请求路径
@Service注解:

1、@service("serviceName"): 表示给当前类命名一个别名,方便注入到其他类中;

2、@service:不加的话,默认别名就是当前类名,但是首字母小写

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值