java注释号为什么变小_Java注解

1、注解

1.1、什么是注解?

注解(Annotation)是从JDK5.0开始引入的新技术

1.2、注解的作用

不是程序本身,可以对程序做出解释

可以被其它程序读取(如:编译器)

1.3、注解格式

@注解名,可以添加参数

1.4、注解的使用地方

package

class

method

field

2、内置注解?

在本文Java注解整理JavaSE注解中详细解释Java内置注解由哪些。

3、元注解?

作用:

负责注解其他注解

4个元注解

@Target:用于描述注解的使用范围,参数类型是ElementType[],参数可取值为:

ElementType.TYPE:接口、类、枚举

ElementType.FIELD:字段、枚举的常量

ElementType.METHOD:方法

ElementType.PARAMETER:方法参数

ElementType.CONSTRUCTOR:构造函数

ElementType.LOCAL_VARIABLE:局部变量

ElementType.ANNOTATION_TYPE:注解

ElementType.PACKAGE:包

ElementType.TYPE_PARAMETER:键入参数声明

ElementType.TYPE_USE:使用类型

@Retention:用于描述注解的声明周期,参数类型是RetentionPolicy

RetentionPolicy.SOURCE:注释将被编译器丢弃

RetentionPolicy.CLASS:注释将由编译器记录在类文件中,但VM不需要在运行时保留

RetentionPolicy.RUNTIME:注释将由编译器记录在类文件中,并由VM在运行时保留,因此可以被反射读取

@Documented:说明该注解将被包含在JavaDoc中

@Interned:说明子类可以继承父类的注解

4、自定义注解?

自定义注解格式

//格式

public @interface 注解名{

//注解参数:参数类型 参数名() default 默认值;

}

//示例1:显示写出默认值

@Retention(RetentionPolicy.RUNTIME)

@Target(ElementType.TYPE)

@interface MyAnnotation{

String name() default "洪梦霞";

int id() default 0;

String[] hobby() default {"足球","篮球"};

}

//使用

@MyAnnotation()

public class Test{}

//示例2:不显示写出默认值

@Retention(RetentionPolicy.RUNTIME)

@Target(ElementType.TYPE)

@interface MyAnnotation{

String name();

int id();

String[] hobby();

}

//使用

@MyAnnotation(name="",id = 0,hobby = {"",""})

public class Test{}

注意点

参数类型只能是基本类型、class、String、enum

default 默认值,可显示写在注解参数列表中,也可不写,在使用注解时写出

如果只有一个参数成员,参数名一般使用value,这样在使用注解的使用可以省略不写value=

5、Java注解整理

5.1、JavaSE注解

@Override:定义在java.lang.Override中,只适用于修饰方法,表示一个方法声明打算重写超类中的另一个方法声明。

@Deprecated:定义在java.lang.Deprecated中,可以用来修饰属性、方法、类,表示不鼓励程序员使用这样的元素,通常是因为它很危险或者存在更好的选择。

@SuppressWarnings:定义在java.lang.SuppressWarnings中,可以抑制编译时的警告信息

@SuppressWarnings("all")

@SuppressWarnings("unchecked")

@SuppressWarnings(value = {"unchecked","deprecation"})

@FunctionalInterface:函数式接口

@Resource(name = "",type = 类名.class):自动注入

可以写在字段和setter方法上,写在字段上,那么就不需要再写setter方法

@Resource默认按照ByName自动注入

5.2、Mybatis注解

@Param():

方法中只有一个参数,可加可不加,最好加,多个参数必须加

基本类型和String类型需要加上

和sql语句中引用的#{}相匹配

括号中用双引号("")包括简单的Sql语句,实现增删改查

@Select():

@Insert():

@Update():

@Delete():

5.3、Spring注解

@Component():把普通pojo实例化到spring容器中,相当于配置文件中的

@Repository():用于标注数据访问层

@Service():用于标注服务层

@Controller():用于标注控制层

@Configuration:

用于定义配置类,可替换xml配置文件

被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器

@Value(""):

放在属性上,给属性赋值,必须是String类型的属性

用来读取配置文件中的属性值并逐个注入Bean对象的对应属性中

@AutoWired:自动注入

@Autowired 等同于 @Autowired(required = true),表示注入的时候,该bean必须存在,否则就会注入失败。@Autowired(required = false),表示如果当前有bean直接注入,没有则跳过,不会报错。

可以写在字段和setter方法上,写在字段上,那么就不需要再写setter方法

@Autowired采取的策略为ByType

@Qualifier(value = ""):按照类型注入会产生一个问题,当一个类型有多个bean值的时候,会产生混乱,不知道具体注入哪一个,此时需要和@Qualifier(value = "")一起使用,‘value =’ 可以省略,实现唯一的注入

@Scope(""):指定bean的作用域

singleton,单例模式

prototype,原型模式

@Aspect:表明这是个切面

@Before()

切面执行前执行的方法

@Before("execution(* com.hmx.service.UserServiceImpl.*(..))")

@After()

切面执行后执行的方法

@After("execution(* com.hmx.service.UserServiceImpl.*(..))")

@Around()

在环绕增强中,我们可以给定一个参数,代表我们要获取处理切入的点

@Around("execution(* com.hmx.service.UserServiceImpl.*(..))")

@ComponentScan():让Spring扫描包,找到哪些bean被注入到了Spring容器内

5.4、SpringMVC注解

@Controller: 声明Spring类的实例是一个控制器

@ResponseBody:和@Controller配合使用,不会被解析资源,直接返回字符串

@RestController: @Controller和@ResponseBody两个注解合成功能

@RequestMapping():

映射url到控制器类或一个特定的处理程序方法,可用于类或者方法上

用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径

@PathVariable:让方法参数的值对应绑定到一个URL模板变量上

@RequestParam():将请求参数绑定到你控制器的方法参数上

5.5、SpringBoot注解

@SpringBootApplication:标注这个类是一个SpringBoot的应用

@SpringBootConfiguration:表示这是个SpringBoot配置类

@EnableAutoConfiguration:开启自动配置功能

@AutoConfigurationPackage:获取项目主程序启动类所在根目录,从而指定后续组件扫描器要扫描的包位置

@Import():向容器导入注册的所有组件

@ConfigurationProperties():

SpringBoot提供的注解

将配置文件中自定义的属性值批量注入某个Bean对象的多个对应属性中

要保证配置文件中的属性与对应实体类的属性名一致

@Value():SpringBoot框架默认继承了Spring的这个注解

@PropertySource():加载配置文件,指定自定义配置文件的位置和名字

@EnableConfigurationProperties:开启对应配置类的属性注入功能

@ImportResource:

加载XML配置文件

传统的Spring项目配置主要基于XML文件

SpringBoot框架默认不再使用XML文件配置项目,且XML文件不会加载到Spring容器中

@ImportResource注解标注在一个配置类上通常放在应用启动类上,使用时需要指定XML配置文件的路径和名称

@Profile:多配置文件环境配置

@Mapper:表示该类是一个Mybatis接口文件,并能被SpringBoot自动扫描到Spring容器中

5.6、SpringCloud注解

5.7、Mybatis-Plus注解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值