JavaWeb常用注解

简介

注解根据来源可分为: 系统注解(自带的,取决于JDK版本)、自定义注解以及第三方注解
系统注解根据用途又可分为: java内置注解和元注解
根据运行机制(保留到什么时候)可分为: 源码注解编译注解运行注解

java内置注解

@Override
覆盖父类方法

@Deprecated(不赞成)
用于方法,表明方法已过期,不建议使用

@Suppvisewarning
忽略警告,例如当我们要使用已过时方法,有的编译器会出现警告,
@Suppvisewarning(“deprecation”)表示忽略此警告


元注解

用来注解其他注解

@Target
声明注解用在什么地方
ElementType.CONSTRUCTOR 用于构造器
ElementType.FIELD 用于成员属性
ElementType.LOCAL_VARIABLE 局部变量
ElementType.METHOD 方法
ElementType.PACKAGE 包
ElementType.PARAMETER 用于参数
ElementType.TYPE 类、接口或enum(enum可视为特殊的类)
ElementType.ANNOTATION_TYPE 注解

@Rentention
注解信息保留到什么时候
RententionPolicy.SOURCE 只在源代码中保留,编译阶段抛弃
RententionPolicy.CLASS 只保留到编译阶段(CLASS文件),VM中运行时抛弃
RententionPolicy.RUNTIME 运行时也保留,可通过反射机制获取注解信息

@Document
注解将被包含至javadoc中
备注: javadoc是Sun公司提供的一种技术,能从源代码中抽取类、方法、成员、注释等生成一个和源代码配套的API帮助文档
指令: javadoc xxx.java

@Inherited
子类可继承父类的此种注解(如果父类有的话)


常用第三方注解

@Return
一般用于方法上,说明有返回值

@Controller
声明为控制器,可返回jsp、html页面的名称并跳转到相应页面
备注:springMVC中,控制器就是一个其方法中添加了@RequestMapping来处理请求的类

@RequestBody
作用于形参上,将前台发来的固定格式的数据(xml或json)封装成JavaBean对象
如何封装: 使用系统默认配置的 HttpMessageConverter对数据进行解析,然后封装到形参上
body-> JavaBean

@ResponseBody
作用于方法,表明此方法的返回值写入Http response body中
如何写入: 改注解作用的方法返回一个对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区
JavaBean-> body

@WebServlet()
Servlet类上使用@WebServlet注解进行配置,可以修改web.xml文件中配置

@RequestMapping(value= ‘xx’, method=XX)
表明方法是处理那种类型、什么地址的请求,返回值默认解析为跳转路径

@GetMapping()
组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写

@PostMapping()
组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写

@PathVariable
Spring3.0 新增带占位符的 URL,例如@RequestMapping("/a/{id}"),通过@PathVariable可以将 URL中占位符参数绑定到控制器处理方法的入参中

@RestController
@Controller与@ResponseBody的结合

@ComponentScan
会扫描@Controller、@Service、@Repository、@Component,默认扫描自己所在的包
basePackage 制定扫描的包(根目录开始)
includeFilters 包含的过滤器
excludeFilters 排除的过滤器

@Test
junit 表明为测试方法

@Configuration
表明是一个配置类
@Bean
@Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。添加的bean的id为方法名
Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。这个方法会被Spring调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。
SpringIOC 容器管理一个或者多个bean,这些bean都需要在@Configuration注解下进行创建,在一个方法上使用@Bean注解就表明这个方法需要交给Spring进行管理。

@ComponentScan
组件扫描,主要是扫描我们自定义的组件(归spring管理的)

@EnableAutoConfiguration
组件扫描,但主要是扫描jar包下
启用 Spring 应用程序上下文的自动配置

@SpringBootApplication
相当于@Configuration+ @EnableAutoConfiguration+ @ComponentScan

@Autowired
自动装配bean,默认按照类型

@Resource
自动装配bean,默认按照名称

@Entity
声明该实体类是一个JPA标准的实体类

@Table
指定实体类关联的表,注意如果不写表名,默认使用类名对应表名。

@Column
指定实体类属性对应的表字段,如果属性和字段一致,可以不写

@Id
声明属性是一个(Object ID),对应的一定是数据库的主键字段

@GenerateValue
声明属性(Object ID)的主键生成策略,四种标准用法为TABLE,SEQUENCE,IDENTITY,AUTO

  • TABLE:使用一个特定的数据库表格来保存主键
  • SEQUENCE:根据底层数据库的序列来生成主键,条件是数据库支持序列。
  • IDENTITY:主键由数据库自动生成(主要是自动增长型)
  • AUTO:主键由程序控制

@SequenceGenerate
使用SEQUENCE策略时,用于设置策略的参数

@TableGenerate
使用TABLE主键策略时,用于设置策略的参数

@JoinTable
关联查询时,表与表是多对多的关系时,指定多对多关联表中间表的参数。

@JoinColumn
关联查询时,表与表是一对一、一对多、多对一以及多对多的关系时,声明表关联的外键字段作为连接表的条件。必须配合关联表的注解一起使用 <key>

@OneToMany
关联表注解,表示对应的实体和本类是一对多的关系

@ManyToOne
关联表注解,表示对应的实体和本类是多对一的关系

@ManyToMany
关联表注解,表示对应的实体和本类是多对多的关系

@OneToOne
关联表注解,表示对应的实体和本类是一对一的关系

@ConfigurationProperties(“xxx.xxx.xxx”)
注入application.properties中xxx.xxx.xxx开头的属性

@Primary
确定该实现类为最优先

@Qualifier
为同一接口的实现类添加标志

@Mapper
声明此接口为一个mapper,使用此注解无需再写xml映射文件
componentModel 声明此接口的实现类的类型

@MapperScan
扫描指定的包,包内所有的类都成为mapper,这样无需为每一个类都添加@Mapper
@MapperScan(basePackages= {“xxx.xxx”}, sqlSessionFsactoryRef= “”, sqlSessionTemplateRef= “”)

@Insert
新增

@Update
更新

@Delete
删除

@Select
查询

@Result
结果集封装

@Results
可以与@Result 一起使用,封装多个结果集

@ResultMap
实现引用@Results 定义的封装

@One
一对一结果集封装

@Many
一对多结果集封装

@CacheNamespace
注解二级缓存的使用

发布了59 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_22136439/article/details/102745740