SpringBoot实战使用

SpringCloud与SpringBoot版本对应

https://start.spring.io/actuator/info

1.@slf4j

        打印日志信息

2.@ControllerAdvice、@RestControllerAdvice

        全局捕获异常

3.@EnableScheduling

        开启定时;@Scheduled:可加属性 - fixedRate = 6000,上一次开始执行时间点之后6秒再执行;

   @Scheduled(fixedDelay = 6000) :上一次执行完毕时间点之后6秒再执行

4.开发测试类

@RunWith(SpringRunner.class)@SpringBootTest注解,在测试方法的顶端添加@Test;@RunWith是一个运行器,SpringRunner.class表示使用Spring Test进行单元测试,其中SpringRunner继承类SpringJUnit4ClassRunner

5.@DependsOn

        用来控制Bean初始化顺序;让一些被依赖的Bean提前加载

6.@SchedulerLock

        分布式锁,确保计划的任务在同一时刻最多执行一次

7.@Order

        定义IOC容器中Bean执行执行顺序的优先级;值越小优先级越高,可谓负数

8.@Scheduled

        属性cron自动生成器:在线Cron表达式生成器

9.SpringBoot官方文档

Spring Boot Reference Guide

10.@ServerEndpoint

        创建WebSocket端点.

11.获取配置文件中的属性:

        @Value、@ConfigurationProperties、@PropertyResource

12.@Profile

        指定组件在哪个环境的情况下才能被注册到容器中。

13.AOP(Aspect Oriented Programing)

        就说所说的动态代理;AOP指在程序运行期间动态 的将某段代码切入到指定方法指定位置进行运行的编程方式。

        通知方法:

                        前置通知(@Before):在目标方法运行之前

                        后置通知(@After):在目标方法运行结束之后运行

                        返回通知(@AfterReturning):在目标方法正常返回之后运行

                        异常通知(@AfterThrowing):在目标方法出现异常后运行

                        环绕通知(@Around):动态代理,手动推进目标方法运行

14.实现CommandLineRunner接口

        容器启动之后执行一些功能(如:加载一些资源文件)或预先加载数据,重写run方法

15.@XStreamAlias

        java和xml对象之间的转化,可以和@XmlRootElement注解一起使用

16.@ConfigurationProperties

        读取配置文件信息或配置中心的配置信息;自动封装到类对应的相关字段信息。

17.@ConditionalOnProperty

        和配置文件中指定的值进行比较,只有两者相同时才会将相应的配置类才会生效。

        一般配置类上

prefix:配置文件中的前缀。

name:配置的名字。

havingValue:它的值与配置文件的值对比,当两个值相同,类会被加载到spring的IOC容器中。

应用场景: 

        比如说一个接口有两个实现类,根据yml配置,在使用的时候根据配置选择使用哪个实现类

18.PropertySource次序

        其中优先级最高的是命令行参数

19.@EventListener

        配合ApplicationContext.publishEvent使用;使用到了观察者模式/发布订阅模式

20.@Transactional失效

        20.1.多线程环境下

                原因:线程不归spring管

                涉及问题:多线程事务回滚

                解决方案:使用sqlsession手动提交事务

        20.2.非public修饰的方法

                有spring aop本质决定的

        20.3.类方法内部调用

        20.4.错误的传播机制

        20.5.嵌套事务

        20.6.注解标注在接口上

21.idea+docker远程一键部署springboot项目

22.发送http请求用restemplate

23.TransactionSynchronizationManager

        事务成功提交后执行操作

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值