springBoot补充

补充:四种新的写法

SpringBoot中的事务管理

//设置事务  在业务层中

   如果在类上:表示所有方法均作事务管理

       在方法上:表示只是该方法作事务管理

    @Transactional(isloation = ISolation.DEFAULT)

    @Transactional(propagation = Propagation.REQUIRED)

//开启事务 在启动类上

    @EnableTransactionManagement  相关配置

SpringBoot  异步任务


在项目开发中,绝大多数情况下都是通过异步方式处理业务逻辑的
但是批处理数据,批量发送邮件/短信 容易造成阻塞的情况


解决方案:


   1.多线程处理

  new个子线程去处理耗时操作,主线程正常运行


   2.在Spring3+之后    内置@Async注解 【更简单】


     
     @EnableAsync    启动类上开启异步任务
     @Async               标识的方法会异步执行【开辟子线程】


SpringBoot的定时任务调度

背景:


    在项目开发中,经常需要执行一些定时任务,比如每月1号凌晨需要汇总上个月的数据分析报表; 每天凌晨分析前一天的日志信息等定时操作等

    @EnableSchedulings  启动类上开启定时任务
    @Scheduled 标识的方法会进行定时处理

注意:需要通过 cron 属性来指定
          cron表达式 : 秒 分 时 日 月 星期 年
       【在线生成工具 : https://】

SpringBoot整合Mail


  第一步:坐标

  <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-mail</artifactId>
  </dependency>


  第二步:开启配置


    邮箱信息


           spring.mail.username= 账号
           spring.mail.password= 【授权密码】


    发送邮件服务器


           spring.mail.host=smtp.163.com 【邮箱服务器类型】


   ssl连接【早期版本需要】


           spring.mail.properties.smtp.ssl.enable=true


  第三步:编写代码


    装配JavaMailSenderImpl核心对象
    调用方法

    发送简单邮件
 

  @Test
    void show1() {
        //1.创建邮件对象
        SimpleMailMessage simpleMailMessage =   new SimpleMailMessage();
        //2.设置信息
        simpleMailMessage.setSubject("疫情全面放开");
        simpleMailMessage.setText("2022年好难,做了11个月的核酸,结果在第12个月阳了~~~");
        simpleMailMessage.setFrom("1655020321@qq.com");
        simpleMailMessage.setTo("wangyanyi_enginner@163.com");
        //3.发送邮件
        javaMailSender.send(simpleMailMessage);
        System.out.println("发送成功~~~");
    }

    发送复杂邮件
 

   @Test
    void show2()throws Exception {
        //1.创建邮件对象
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        //2.创建MimeMessageHelper
        MimeMessageHelper mimeMessageHelper =  new MimeMessageHelper(mimeMessage,true);
        //3.设置信息
        mimeMessageHelper.setSubject("程序员的误解");
        mimeMessageHelper.setText("程序员是个<span style='color:red'>高薪,高危</span>的职业",true);
        mimeMessageHelper.addAttachment("1.jpg",new File("C:\\imgs\\1.jpg"));
        mimeMessageHelper.setFrom("1655020321@qq.com");
        mimeMessageHelper.setTo("wangyanyi_enginner@163.com");
        //4.发送邮件
        javaMailSender.send(mimeMessage);
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值