这篇文章主要介绍了springboot测试类注解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
创建一个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文件,这个文件的结构更清晰。
本文标题为:详解springboot测试类注解
基础教程推荐
- Java实现线程插队的示例代码 2022-09-03
- Java文件管理操作的知识点整理 2023-05-19
- springboot自定义starter方法及注解实例 2023-03-31
- Java数据结构之对象比较详解 2023-03-07
- JDK数组阻塞队列源码深入分析总结 2023-04-18
- ConditionalOnProperty配置swagger不生效问题及解决 2023-01-02
- java实现多人聊天系统 2023-05-19
- java基础知识之FileInputStream流的使用 2023-08-11
- Java实现查找文件和替换文件内容 2023-04-06
- Java并发编程进阶之线程控制篇 2023-03-07