详解springboot测试类注解
作者:程程呀是小白 发布时间:2023-06-04 21:04:37
创建一个TextHello类
TextHello类的代码如下
@Controller
@RequestMapping("/hello")
public class TextHello {
@GetMapping("/hello")
@ResponseBody
public String hello(){
return "hello,程程呀";
}
}
我是在pom.xml文件中增加依赖如下
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
在浏览器结果如下:
自动配置: pom.xml spring-boot-dependencies:核心依赖在父类工程中! 我们在写或者引入springboot依赖的时候不需要指定版本号,是因为有这些版本仓库 启动器
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
启动器:就是springboot的启动场景 比如说spring-boot-starter-web,他就会帮助我们自动导入web环境下的所有依赖。 而springboot会将所有的场景都变成一个个的启动器
注解
@SpringBootApplication :包含@configuration,@ComponentScan,@EnableAutoConfiguration通常在主类上
@SpringBootConfiguration :springboot的配置
@Configuration :spring配置类
@Component :说明这也是一个spring的组件
@EnableAutoConfiguration :自动配置
@AutoConfigurationPackage :自动配置包
@ResponseBody:返回信息为json形式的数据。一般来说会直接使用@RestRestController标注。
@CrossOrigin:解决跨域问题。如果没做特殊处理,一般的@CrossOrigin都会加在控制层的类上。除非引入了gateway网关,就无需通过注解解决跨域。
@MapperScan:以往在使用@Mapper一个个定义mapper,有了@MapperScan之后,只需指定mapper包,就不需要一个个使用@Mapper注解了。
@EnableScheduling:开启定时任务,在类上使用。
@Value:将外部配置文件的值动态注入。。
@Transactional:声明式事务注解。
@Data:lombok下的注解,使用后就无需再写实体类的getter和setter方法。
@RestController:用于标注控制层组件,包含@Controller和@ResponseBody。
springboot所有的自动配置都是在启动的时候扫描并加载:spring.factories 所有的自动配置类都在这里面,但是不一定会生效,要对其进行判断对应start,就有了对应的启动器,有了启动器,自动装配才会生效,然后配置成功。
主启动类
@SpringBootApplication :标注这个类是一个springboot的应用:启动类下的所有资源被导入 springboot理解:自动装配,run() 全面接管springMVC配置!
Static:存放静态资源,比如:css,js,图片 Templates:模板文件 application.porperties:springboot的配置文件
配置文件格式
properties文件 :key-value的格式
yml文件 : 阶梯状的属性文件
区别
.yml 格式不支持 @PropertySource 注解导入配置。
properties文件和yml文件中有相同属性的时候,properties文件的优先级高于yml文件
看上面的图:两个配置文件的格式不一样,他们配置形同的时候properties的优先级高于yml文件,但是建议使用yml文件,这个文件的结构更清晰。
来源:https://blog.csdn.net/qq_57785602/article/details/125704156


猜你喜欢
- 1.初始化顺序当Java创建一个对象时,系统先为该对象的所有实例属性分配内存(前提是该类已经被加载过了),接着程序开始对这些实例属性执行初始
- 需要的Maven<!--redis--> <dependency&g
- 1、#{}是预编译处理,MyBatis在处理#{ }时,它会将sql中的#{ }替换为?,然后调用PreparedStatement的set
- BufferedReader读取本地文件在使用BufferedWriter写入文件时,如果忘记关闭文件(close)同时也没有调用flush
- 如果需要处理的数字有许多位,就可以使用BitArray类和BitVector32结构。BitArray类位于System.Collectio
- 笔者前段时间在做react-native开发,一直是有线连接安卓真机进行调试的。有线调试确实带来诸多麻烦,因为在调试过程中需要频繁和手机进行
- 什么是ListView分页加载数据功能呢?在现在的大数据时代,我们不可能把某些数据全部展示到界面,好比我们经常会看的QQ空间一样,当你看动态
- Java数组声明、创建、初始化一维数组的声明方式:type var[]; 或type[] var;声明数组时不能指定其长度(数组中元素的个数
- 一、 ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制
- SSM Mapper查询出返回数据查不到个别字段原因开启了驼峰命名法则,Bean里的字段不识别_注释掉或者把实体类里的字段_去掉换位大写SS
- 本节我们主要介绍 Ribbon 的一些常用配置和配置 Ribbon 的两种方式。常用配置1. 禁用 Eureka当我们在 RestTempl
- 当前,JVM生态圈主要的三大构建工具:Apache Ant(带着Ivy)MavenGradle对于初学者,Ant是最清晰的,只要读懂Xml配
- FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化
- 本文实例讲述了Android编程实现分页加载ListView功能。分享给大家供大家参考,具体如下:package eoe.listview;
- 一,我们使用两个域名互相访问的时候会提示跨域,原因在哪里呢?如下图跨域,我们探究下是什么原因导致浏览器报这个错呢?二,我们研究下看看请求是否
- 在窗体中添加DataGridView控件和ConTextMenuStrip1控件,修改DataGridView属性,将contextMenu
- using System;using System.Collections.Generic;using System.IO;using Sy
- 本文实例为大家分享了C# TrackBar拖动条改变滑块颜色的具体代码,供大家参考,具体内容如下原理1.TrackBar拖动条的滑块的默认颜
- 什么是ServletContext?根据字面意思即Servlet上下文服务器会为每一个工程创建一个对象,这个对象就是ServletConte
- Java 线程池原理Executor框架的两级调度模型在HotSpot VM的模型中,Java线程被一对一映射为本地操作系统线程。JAVA线