【翠花学Springboot】Spring Boot实战技能

整合JUnit测试

代码测试是开发工作中一个非常重要的环节,Spring Boot中仍然可以使用JUnit进行代码测试。

具体代码如图所示:

注意:以上三个注解要选用低版本

读取配置文件

在web项目中,经常需要从properties文件获取配置信息。在Spring Boot项目中,需要使用@Value注解,即可获取application.yml(或properties)文件中的配置信息。

示例:

在yml文件中配置如下信息,注意空格

, 在控制器中通过注解获取配置信息

注意:@RestController注解相当于@ResponseBody+@Controller注解,使该类中的方法直接返回字符串或json格式的数据给浏览器,而不是返回视图界面。

打开浏览器输入地址

 在真实的项目企业开发中,项目所需配置的信息往往较多,开发者需要不断使用@Value注解读取配置,并且需要保证每个属性的名称都是正确的,这就造成使用@Value注解读取配置文件诸多不便。为了解决这个问题,Spring Boot提供了另一种读取配置文件的方式---使用注解@ConfigurationProperties。他可以将YAML文件中的属性和Bean的属性进行关联,这就使得开发人员无需手动的为每一个属性编写注解。

使用@ConfigurationProperties需要注意两点:

1.指定prefix:由于实际开发中要读取的属性很多,不同实体类之间经常会存在属性名相同的情况,所以在application.yml文件配置属性时,需要添加前缀来标识对应的实体类,避免属性名同名的问题。

2.创建setter方法:@ConfigurationProperties注解实际上通过属性的setter方法来进行注入,因此要获取配置信息的相关属性需要在其所在的Bean类中创建该属性对应的setter方法。

示例:

创建用户实体类:

注意使用@Component注解,表示把普通的pojo实例化到Spring容器中,相当于是配置文件中的,就是当某个类不属于各种归类的时候(不属于@Controller,@Service等),就可以使用@Component注解来标注这个类。

在yml文件中配置该实体类的信息

在控制器中获取该实体类

 完成测试

 多环境配置

在实际的项目开发中,往往会有多套运行环境,比如开发环境,测试环境和生产环境。

示例:

使用yml文件:

 开发环境中的代码:

 测试环境中的代码:

 Spring Boot的自动配置

在pom文件中引入jdbc依赖

这时启动项目会报错

 根据报错信息可以看出,项目启动时自动寻找数据库连接地址的配置信息,但是由于没有找到,所以报错了。

为什么SpringBoot会自动地寻找数据库连接的地址呢?

当Spring Boot项目中引入了以下两个依赖后,会在项目中添加两个与自动配置相关的jar包

 展开这两个jar包会发现在META_INF目录下面都包含名为“spring.factories”的文件

 打开该文件会发现很多自动配置的类

 通过之前学习可知,Spring Boot项目的启动类上需要添加@SpringBootApplication注解,该注解为复合注解,其中包含名为@EnableAutoConfiguration的注解。

进入该注解的源码,可以看到,在源码中通过@Import注解引入了AutoConfigurationSelector类。

 进入这个类会发现,程序会去所有的自动配置包中寻找spring.factories文件

再从spring.factories文件中加载出所有的自动配置类,在spring.factories文件中,可以找到一个名为DataSourceAutoConfiguration的自动配置类。

进入该类的源码可以发现,此类头上添加了四个注解

@ConditionalOnClass({ DataSource.class, EmbeddedDatabaseType.class }) 表示你的应用必须具备DataSource类和EmbeddedDatabaseType

一开始运行没有问题,引入程序未引入jdbc相关库,造成EmbeddedDatabaseType缺失,因为该条件不满足,所以就不会往后加载配置文件相关信息,当引入之后,此时EmbeddedDatabaseType存在,那么进行下一行注解,即给@DataSourceProperties的属性赋值,在DataSourceProperties类的源代码中可以发现其包含url属性,由于没有给url属性设置默认值,所以此时项目回去application.yml文件找那个寻找该属性的值,如果在application.yml文件中依然没有找到url属性的值,此时启动项目就会报错。

所以在application.yml文件中为属性进行赋值项目即可正常运行。

 LogBack日志

日志是项目运行的监控和故障排查手段,在开发和调试阶段,日志可以帮助开发中更高效,便捷的定位问题。在应用的运维阶段,日志可以记录系统运行过程中的异常信息。

Spring Boot官方把LogBack作为日志记录框架的首选。

示例:

以数据库中的用户表为实体类,进行增删改查,注意mapper文件中的相关注解。

在application.yml文件中连接数据库,并配置日志。

打开postman软件进行增删改查测试

在控制台即可看到相关日志。

增删改查效果都如上所示,这里不一一展示了。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BUG忠实爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值