【JavaEE之Spring】SpringBoot杂记

这篇博客是关于SpringBoot的实战笔记,涵盖了从创建Maven项目到配置Redis、日志、邮件发送等多个方面。重点讲解了@SpringBootApplication注解、配置文件的应用、数据库连接以及邮件发送的实现。同时提到了SpringBoot的自动配置、配置处理器和Actuator模块,还分享了如何处理自定义配置文件和使用@ConfigurationProperties进行类型安全的配置。
摘要由CSDN通过智能技术生成

这是一篇关于SpringBoot的杂记,为什么说是杂记?因为这是我零零散散把自己觉得有用的东西记录了下来,主要是给自己写的,或许有人看起来会觉得很乱,你可以评论问我哦,好了,接下来进入正题
Spring Boot:

  1. SpringBoot的步骤:
    0.创建Maven项目
    1.加依赖–添加SpringBoot的父母约定依赖,不需要Spring的物料清单
    添加自己所需要的SpringBoot约定的的依赖
    加一个jar包:配置处理器spring-boot-configuration-processor
    添加 spring-boot-maven-plugin 插件(构建可执行程序)
    2.添加配置文件
    3.程序运行入口–写main方法,让程序能够运行起来,@SpringBootApplication让程序知道这个就是SpringBoot项目,然后让run起来

  2. 你不想用它的,可以把它排除掉,自己写,在自己的方法上写@Primary,现在有时已经默认使用自己写的

  3. SpringBoot想使用Redis怎么使用呢?
    1.安装redis(Linux和Windows系统都可以用)
    2.启动redis:redis-server
    3. redis-cli 命令行启动,开始输入命令
    4.在pom中添加redis的依赖,在属性文件里面配置关于redis的信息
    5.StringRedisTemplate和RedisTemplate区别:
    数据发送到服务端,编码是避免不了的,要序列化,RedisTemplate—是Object,可以序列化,StringRedisTemplate–K和V都是String类型

  4. 在mianfinest中配置Main.class执行Main方法

  5. 如果一个程序用maven管理且是SpringBoot,可以在命令行直接用插件启动程序:spring-boot:run

  6. 产品特性:spring-boot-starter-actuator–用来采集数据的

关于SpringBoot的一些注解和特性杂记

  1. @SpringBootApplication 用来识别此类是SpringBoot类
  2. @SpringBootApplication=@Configuration+@@EnableAutoConfiguration
    +ComponentScan
  3. @Configuration Java类配置,相当于传统的xml配置
  4. @PropertySource–自定义的属性文件需要加载,用该注解进行注入 配合@value使用,比如这样:
@Value("${hos.id}")
 private String hosId; 
  1. @ImportResource 用来加载xml文件
  2. @Bean 用该注解标注的方法等价于xml中配置的Bean
  3. @Scope 配合@Bean使用,该类使用的范围
  4. @Environment 比如Servlet环境,JDK环境,Spring环境,各个环境都有自己的配置
    在Spring Boot中使用直接用@Resource或@Autowired注入,即可获得系统配置文件application.properties/yml的属性值,如果是自定义的配置文件,则需要预先通过@PropertySource等其他注解注入后,才能获取。获取通过getProperty()方法获取
  5. @SpringBootApplication注解的exclude参数:关闭特定的自动配置
    比如:
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
 

SpringBoot的配置:

  1. SpringBoot使用全局的一个配置文件:application.properties 或者 application.yml ,放置在 src/main/resources 目录或者类路径的 /config 下

  2. 属性配置:
    常规:注入properties文件里的值的方式,通过@PropertySource指明properties文件的位置,然后通过@Value注入值
    SpringBoot:直接用@Value注入值
    但是在属性值比较多的时候,一直用@value比较麻烦,所以通过@ConfigurationProperties将properties属性和一个Bean及其属性关联,从而实现类型安全的配置当然,属性配置必须在application.properties中,否则,需要用locations表明地址

  3. 日志配置:
    配置输出文件–logging.file=D:\spring-boot.log
    配置日志级别:logging.level.包名=级别( TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF )

  4. profile配置:
    针对不同环境的不同配置设置:比如开发环境,生产环境
    application.properties文件配置以及修改profile:
    spring.profiles.active=prod

  5. SQL数据库:
    引入 spring-boot-starter-jdbc,SpringBoot启动时会自动配置,但是必须在application.properties中配置数据库地址,用户名,密码等信息

  6. Redis数据库:
    添加redis依赖—redis有默认配置
    当我们添加依赖后,不配置任何信息,Spring会去使用默认配置(0号数据库),即当地的redis数据库,如果本地没有装redis,则启动失败

  7. 邮件发送:
    添加mail依赖 spring-boot-starter-mail
    配置mail属性: port为456表示安全连接
    protocol为SMTP,为邮件简单传输协议
    username是邮箱名字
    password是授权码
    两种方法:
    1.使用javaAPI来发
    其实总结也就三步:
    注入JavaMailSender对象
    1.取得MimeMessage对象
    2.设置发送内容及收件人
    3.发送邮件
    2.使用spring提供的helper方法
    不管哪种方法,都是需要java提供的JavaMailSender来发送
    3.发送复杂邮件:
    带附件的邮件:multipart是附件的意思,一定要写true
    用ClassPathResource这个类来写附件
    4.内联资源
    资源引用处设置cid,资源标识,比如:

helper.setText("<html><body><img src='cid:img123'></body></html>", true);	

我在github上写个一个样例,有兴趣可以看看:
https://github.com/enternal0/Sping-Boot-case
https://github.com/enternal0/SpringBoot-case2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值