@SuppressWarnings(“deprecation”)**就表示我们忽略了deprecation这样的一个警告。

JDK注解作用总结:

@Override 表示当前方法覆盖了父类的方法

@Deprecation 表示方法已经过时,方法上有横线,使用时会有警告。

@SuppviseWarnings 表示关闭一些警告信息(通知java编译器忽略特定的编译警告)

SpringMVC的注解有: …

1、@Controller

2、@RequestMapping

RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

@RequestMapping 标记的处理器方法支持的方法参数和返回类型

1、使用 @RequestMapping 来映射 Request 请求与处理器
方式一、通过常见的类路径和方法路径结合访问controller方法
方式二、使用uri模板

3、@Resource(适用于Impl实现类)和**@Autowired** (自动装配)

两者都可以写在字段和setter方法上。两者如果都写在字段上,那么就不需要再写setter方法。

注:最好是将**@Resource**放在setter方法上,因为这样更符合面向对象的思想,通过set、get去操作属性,而不是直接去操作属性。

4、@ModelAttribute@SessionAttributes

代表的是:该Controller的所有方法在调用前,先执行此@ModelAttribute方法,可用于注解和方法参数中,可以把这个@ModelAttribute特性,应用在BaseController当中,所有的Controller继承BaseController,即可实现在调用Controller时,先执行@ModelAttribute方法。

@SessionAttributes即将值放到session作用域中,写在class上面。

具体示例参见下面:使用 @ModelAttribute 和 @SessionAttributes 传递和保存数据

5、@PathVariable

用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri模板中的变量作为参数

6、@requestParam

@requestParam主要用于在SpringMVC后台控制层获取参数,类似一种是request.getParameter(“name”),它有三个常用参数:defaultValue = “0”, required = false, value = “isApp”;defaultValue 表示设置默认值,required 铜过boolean设置是否是必须要传入的参数,value 值表示接受的传入的参数类型

7、@ResponseBody

作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。

8、@Component

相当于通用的注解,当不知道一些类归到哪个层时使用,但是不建议。

9、@Repository

用于注解dao层,在daoImpl类上面注解。

@Autowired

@Autowired顾名思义,就是自动装配,其作用是为了消除代码Java代码里面的getter/setter与bean属性中的property。当然,getter看个人需求,如果私有属性需要对外提供的话,应当予以保留。
@Autowired默认按类型匹配的方式,在容器查找匹配的Bean,当有且仅有一个匹配的Bean时,Spring将其注入@Autowired标注的变量中。

@Service

@Service用于标注业务层组件(注入dao)

@Service(“userService”)注解是告诉Spring,当Spring要创建UserServiceImpl的的实例时,bean的名字必须叫做”userService”,这样当Action需要使用UserServiceImpl的的实例时,就可以由Spring创建好的”userService”,然后注入给Action:在Action只需要声明一个名字叫“userService”的变量来接收由Spring注入的”userService”即可

@Repository

3、@Repository用于标注数据访问组件,即DAO组件。
@Repository(value=”userDao”)注解是告诉Spring,让Spring创建一个名字叫“userDao”的UserDaoImpl实例。

Spring常用注解汇总:
@Configuration把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean。
@Scope注解 作用域
@Lazy(true) 表示延迟初始化
@Service用于标注业务层组件、
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件。
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Scope用于指定scope作用域的(用在类上)
@PostConstruct用于指定初始化方法(用在方法上)
@PreDestory用于指定销毁方法(用在方法上)
@DependsOn:定义Bean初始化及销毁时的顺序
@Primary:自动装配时当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者,否则将抛出异常
@Qualifier(指定注入Bean的名称)
@Autowired 默认按类型装配,如果我们想使用按名称装配,可以结合@Qualifier注解一起使用。如下:
@Autowired @Qualifier(“personDaoBean”) 存在多个实例配合使用
@Resource默认按名称装配,当找不到与名称匹配的bean才会按类型装配。
@PostConstruct 初始化注解
@PreDestroy 摧毁注解 默认 单例 启动就加载
@Async异步方法调用

@Resource详解
@Resource注解与@Autowired注解作用非常相似
@Resource的装配顺序:
(1)、@Resource后面没有任何内容,默认通过name属性去匹配bean,找不到再按type去匹配
(2)、指定了name或者type则根据指定的类型去匹配bean
(3)、指定了name和type则根据指定的name和type去匹配bean,任何一个不匹配都将报错
@Autowired和@Resource两个注解的区别:
(1)、@Autowired默认按照byType方式进行bean匹配,@Resource默认按照byName方式进行bean匹配
(2)、@Autowired是Spring的注解,@Resource是J2EE的注解,这个看一下导入注解的时候这两个注解的包名就一清二楚了
Spring属于第三方的,J2EE是Java自己的东西,因此,建议使用@Resource注解,以减少代码和Spring之间的耦合。

再接着我们来看看Mybatis的注解以及作用:
用于增删改查:@InsertProvider,@DeleteProvider@UpdateProvider,和@SelectProvider
其他的注解有:
@Options注解能够设置缓存时间,能够为对象生成自增的key(自动生成主键)
@Insert : 插入sql , 和xml insert sql语法完全一样
@Select : 查询sql, 和xml select sql语法完全一样
@Update : 更新sql, 和xml update sql语法完全一样
@Delete : 删除sql, 和xml delete sql语法完全一样
@Param : 入参
@Results : 结果集合
@Result : 结果

动态SQL
对应关系如下
@Insert :@InsertProvider
@Select :@SelectProvider
@Update :@UpdateProvider
@Delete :@DeleteProvider

@Insert和@InsertProvider都是用来在实体类的Mapper类里注解保存方法的SQL语句。不同的是,@Insert是直接配置SQL语句,而@InsertProvider则是通过SQL工厂类及对应的方法生产SQL语句,这种方法的好处在于,我们可以根据不同的需求生产出不同的SQL,适用性更好。

最新2021整理收集的一些高频面试题(都整理成文档),有很多干货,包含mysql,netty,spring,线程,SpringBoot、Spring Cloud、jvm、源码、算法等详细讲解,也有详细的学习规划图,面试题整理等,需要获取这些内容的朋友请加Q君羊:826021115

Spring常用注解详解大全(建议收藏)相关推荐

  1. Spring Cache常用注解详解

    Spring Cache常用注解详解 @EnableCaching 开启Spring Cache框架支持.解析对应的注解,实现缓存读写访问 @CacheConfig 缓存配置,可以配置当前类型中所用缓 ...

  2. 应用架构、业务架构、技术架构和业务流程图详解「建议收藏」

    应用架构.业务架构.技术架构和业务流程图详解「建议收藏」 应用架构(ApplicationArchitecture)是描述了IT系统功能和技术实现的内容.应用架构分为以下两个不同的层次:企业级的应用架 ...

  3. 阿里架构总监一次讲透中台架构,13页PPT精华详解,建议收藏

    阿里架构总监一次讲透中台架构,13页PPT精华详解,建议收藏 https://www.toutiao.com/i6733390971112784391/?tt_from=weixin&utm_ ...

  4. 电子元器件从入门到精通pdf_电子元件入门基础,常用电子元器件详解大全作用-涨知识必读...

    1.电子元器件筛选的必要性 电子元器件的固有可靠性取决于产品的可靠性设计, 在产品的制造过程中, 由于人为因素或原材料. 工艺条件. 设备条件的波动, 最终的成品不可能全部达到预期的固有可靠性. 在每 ...

  5. 如何运行vue项目 ?(详解,建议收藏) ❤️

    如何运行vue项目 (详解,建议收藏) 转载 首先,列出来我们需要的东西: node.js环境(npm包管理器) vue-cli 脚手架构建工具 cnpm npm的淘宝镜像 安装node.js 从no ...

  6. 面渣逆袭:Spring三十五问,四万字+五十图详解,建议收藏。

    这节我们来搞定另一个面试必问知识点--Spring. 有人说,"Java程序员都是Spring程序员",老三不太赞成这个观点,但是这也可以看出Spring在Java世界里举足轻重的 ...

  7. Spring Boot注解详解

    文章目录 使用注解的优势 注解详解(配备了完善的释义) 注解列表如下 JPA注解 springMVC相关注解 全局异常处理 项目中具体配置解析和使用环境 使用注解的优势 采用纯java代码,不在需要配 ...

  8. github新手用法详解(建议收藏!!!)

    如果你是一枚Coder,但是你不知道Github,那么我觉的你就不是一个菜鸟级别的Coder,因为你压根不是真正Coder,你只是一个Code搬运工.说明你根本不善于突破自己!为什么这么说原因很简单, ...

  9. 被各种注解搞晕了?那快来看看Spring Bean注解详解!

    前言 本篇博客中,我们将会讨论用于声明不同类型 Beans 的几种最常用的 Spring Bean 注解. 众所周知,Spring 容器中有许多配置 Bean 的方法,我们既可以通过 XML 配置,也 ...

  10. Spring cache 注解详解

    spring cache注解的使用: @CacheConfig 类级别的缓存注解,允许共享缓存名称 @Caching 将多种缓存操作分组 @Cacheable 触发缓存入口 @CacahePut 更新 ...

最新文章

  1. Docker 从入门到精通(建议收藏的教程)
  2. magento本地安装成功后无法进入后台,密码和用户名均正确 .
  3. 《C#图解教程》读书笔记之六:接口和转换
  4. [转载]dbms_lob用法小结
  5. 使用函数返回值的循环例子
  6. 核心对象+持久对象全析(1)
  7. PyTorch 1.0稳定版正式发布,并向开发者提供免费AI课程
  8. 没事学学docker:解决dockerfile出现的Error: Failed to download metadata for repo ‘appstream‘: Cannot prepar
  9. 程序员自学路上的一些感悟
  10. CentOS 安装快速Nginx-1.12.0
  11. Ubuntu18.04安装和卸载teamviewer
  12. ubantu卸载MySQL数据库
  13. 《从零开始做抖音》 程然
  14. golang微服务网关
  15. Windows部署WSUS补丁服务器
  16. 儿童python编程教程-儿童编程python入门
  17. Icarus iverilog中PLI使用范例
  18. 使用mysql管理系统建表时,字段中有PK,NN,UQ,BIN,UN,ZF,AI基本字段类型标识的意义
  19. ui设计现状与意义_UI设计存在的意义
  20. python 比较运算符列表_python基础-列表,文件,运算符

热门文章

  1. JMDM 楼宇电梯智能实时监控系统解决方案
  2. 【汉诺塔问题】递归算法求解汉诺塔问题
  3. 电商后台设计-组织架构(三)
  4. mongoVue的使用
  5. mongovue mysql_MongoDB 客户端 MongoVue
  6. web前端开发和java后端_web前端开发和后端开发的区别是什么
  7. win10系统Jmeter下载安装详解
  8. 计算机病毒445端口,关闭135 445端口_445端口关闭方法_怎么防止电脑中勒索病毒
  9. 软件项目管理第四课—投标项目需求分析和应答
  10. mysql怎么导出insert语句_mysql导出insert语句