首页 > 其他分享 >spring boot 的常用注解

spring boot 的常用注解

时间:2024-05-25 18:05:41浏览次数:27  
标签:请求 Autowired spring boot 注解 属性 方法 构造函数

Autowired与 Resource的区别

1、Autowired与Resource都是要装配bean

Autowired是通过byType来注入 Resource是同通过byName来注入

一、Autowired

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

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

二、Resource

@Resource(这个注解属于J2EE的),默认按照名称进行装配,名称可以通过name属性进行指定,如果没有指定name属性,当注解写在字段上时,默认取字段名进行安装名称查找,如果注解写在setter方法上默认取属性名进行装配。当找不到与名称匹配的bean时才按照类型进行装配。但是需要注意的是,如果name属性一旦指定,就只会按照名称进行装配。用这个注解是因为不用写set方法,减少与spring的耦合

三、Value

@Value(“${}”):value的格式

value注解的作用是将我们配置文件的属性读出来

四、Builder

builder它的作用就是在你使用的地方生成一个构造器与this方法

this就是区分全局与形参 然后this就是选择比较远的那个也就是全局

五、有参构造与无参构造

  • 构造方法的使用是用类名 构造函数也是与类名相同

  • 也就是说构造就是跟类名相同的方法或者函数

  • 还有就是如果类中没有构造函数那么你的类自带一个无参构造

  • 构造函数不能有返回值g

  • 有参构造就是有参数也就是有值的构造方法或者构造函数

  • 无参构造就是没有参数也就是没有值的构造方法或者构造函数

六、启动类注解

@SpringBootApplication

启动类为什么叫这个名字就是因为 springboot框架后面加的是你的默认的配置类 application也就是程序的入口

启动类的8个注解就是为了扫描你的所有包就是所有的Bean就是容器 因为类默认有Bean

七、自动装配原理

byType(类型)通过类型来扫描bean

byName(名称) 通过名称来扫描bean

constructor(构造器)通过构造来扫描bean 包括构造函数与构造方法

基于注解的自动装配有三种

@Autowired @Resource @Value

springboot启动时,是依靠启动类的main方法来进行启动的,而main方法中执行的是SpringApplication.run()方法,而SpringApplication.run()方法中会创建spring的容器,并且刷新容器。而在刷新容器的时候就会去解析启动类,然后就会去解析启动类上的@SpringBootApplication注解,而这个注解是个复合注解,这个注解中有一个@EnableAutoConfiguration注解,这个注解就是开启自动配置,这个注解中又有@Import注解引入了一个AutoConfigurationImportSelector这个类,这个类会进过一些核心方法,然后去扫描我们所有jar包下的META-INF下的spring.factories文件,而从这个配置文件中取找key为EnableAutoConfiguration类的全路径的值下面的所有配置都加载,这些配置里面都是有条件注解的,然后这些条件注解会根据你当前的项目依赖的pom以及是否配置了符合这些条件注解的配置来进行装载的。

八 RequestMapping

1.1标注在方法上

1.用在方法上 表示在类的父路径下追加方法上注解中的地址将会访问到该方法

1.2 标注在类和方法上

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

2 属性

2.1@RequestMapping的value必须设值, 是通过当前请求地址来匹配请求

2.2 value属性是一个字符串类型的数组,因此说明可以将多个请求映射到一个方法上 只需要给value来指定一个包含多个路径的数组

2.3method属性 是通过当前请求的请求方式来匹配请求

浏览器向服务器发送请求 请求方式有很多GET ,HEAD,POST,PUT,PATCH,DELETE,OPTIONS,TRACE

可以使用method属性来约束请求方式。

九 RestController和controller

1返回值不同

@RestController=@Controller+@ResponseBody

@ResponseBody是一个针对方法返回值进行处理的注解, 处理后的@RestController注解会将所有处理请求的方法默认解析为将方法返回值直接作为响应体内容返回 返回的数据通常是JSON或XML格式。

2用法不同

@RestController 注解主要有get、post、put、delete等 可以方便地处理输出和输入的JSON或XML数据,适用于前后端分离的架构。

@Controller则更多地与视图渲染和页面跳转相关,通过页面模板引擎将数据渲染成 HTML 页面返回给用户

十@Override

@Override是什么

他是一个伪代码 用于表示被标注的地方就是重写方法 只能用于标记方法 而且只在于编译期生效 不会保留在class文件中

还会检查该方法是否是重写方法。如果发现他的父类或者是引用的接口中没有该方法 会报编译错误

如果没有覆写(现在出现了继承的关系,那么就存在了子类和父类的联系,而在子类之中有可能定义和父类完全相同的方法或属性的名称,这个时候就称为覆写了。)或者实现超类(已经存在的类称为超类(superclass))的方法声明 ,或者不是覆写Object的public方法,那么编译就会报错。

为什么要用它

使用@Override注解主要有两个好处:

1)帮助自己检查是否正确的重写父类方法

2)明显的提示看代码的人,这是重写的方法

十一 什么是IOC容器

1.Ioc的一种实现方式,通过构造方法、setter方法或接口注入依赖对象。 2.使用Ioc就是把容器里的东西交给spring管理

十二Aop

Aop是一种java编程规范 是为了解耦合与代码重用

是面向切面编程

十三Tomcat

1.Tomcat就是java Servlet容器与web服务器Tomcat被广泛用于部署和运行Java Web应用程序。

2.Servlet是Java编写的服务器端程序,用于处理客户端请求并生成动态内容。

十四HTTP协议

HTTP(Hypertext Transfer Protocol)协议是一种用于在互联网上进行数据传输的协议

Http协议使用基于请求-响应模型的方式,客户端发送HTTP请求给服务器,服务器根据请求进行处理并返回相应的HTTP响应。

标签:请求,Autowired,spring,boot,注解,属性,方法,构造函数
From: https://blog.csdn.net/2402_82425464/article/details/139201007

相关文章

  • 使用@ConfigurationProperties注解产生的一个小错误
    今天在写项目时碰到一个错误:Notregisteredvia@EnableConfigurationProperties,markedasSpringcomponent,orscannedvia@ConfigurationPropertiesScan原代码如下:@Data@ConfigurationProperties(prefix="catshop.auth")publicclassAuthProperties{//相关......
  • SpringBoot自动装配原理是什么?
    1创建上下文publicConfigurableApplicationContextrun(String...args){//记录程序运行时间StopWatchstopWatch=newStopWatch();stopWatch.start();//ConfigurableApplicationContextSpring的上下文ConfigurableAppl......
  • Spring框架篇常考八股
    1.什么是Ioc和DIIoC不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合、更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试;有了IoC容器后,把创建和查找依赖对象的控制权交给了容器,由容器......
  • 49.SpringMVC简单整理
    SpringMVC本质也是解耦先提前插一嘴这里用到的是简单的maven项目:在添加web应用时报错ArtifactsWebfacetresources爆红参考:https://blog.csdn.net/weixin_43739266/article/details/122133398添加web依赖要为项目添加web项目依赖否则无法tomcat访问为了介绍MVC......
  • Spring的BeanFactoryPostProcessor和BeanPostProcessor区别?
    1、BeanFactoryPostProcessor是用于在容器实例化Bean之前对Bean的配置信息进行修改的接口,它允许对BeanFactory进行后处理,比如修改BeanDefinition的属性值等。BeanFactoryPostProcessor是在Bean的实例化之前执行的,对BeanFactory进行配置。2、BeanPostProcessor是用于在Bean实......
  • Springboot计算机毕业设计信息学院网络工程党支部小程序【附源码】开题+论文+mysql+程
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在信息化高速发展的今天,党建工作也需要与时俱进,利用信息技术手段提升工作效率和影响力。信息学院网络工程党支部作为学院党建工作的前沿阵地,面临着如......
  • 【精品毕设推荐】基于Springboot的学生心理咨询评估系统的设计与实现
    点击下载原文及代码,可辅助在本地配置运行摘 要使用旧方法对学生心理咨询评估信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在学生心理咨询评估信息的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。这次......
  • JAVA计算机毕业设计基于SpringBoot的在线古玩市场系统的设计与实现(附源码+springboot+
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着互联网的迅猛发展和电子商务的普及,传统行业纷纷寻求数字化转型以适应市场的新需求。古玩市场作为一个历史悠久、文化底蕴深厚的行业,在数字化浪潮......
  • 基于springboot+vue的招聘信息管理系统
    开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9系统展示系统首页企业招聘界面求职信息界面社区留言界面个人中心管理员登录管理员功能界面用户管理......
  • spring 字段注入和构造器注入
    1.1属性注入属性注入是大家最为常见也是使用最多的一种注入方式了,代码如下:@ServicepublicclassBService{@AutowiredAServiceaService;//...}这里是使用 @Autowired 注解注入。另外也有 @Resource 以及 @Inject 等注解,都可以实现注入。不过不知道......