• SpringBoot核心原理与实践


    第一章、SpringBoot简介

    1、入门案例

    2、官网创建压缩包程序

    注意使用的版本pom文件中java --> 1.8、 springboot --> 2.5.0

    3、SpringBoot快速启动

    运行程序--找引导类

    换技术、加技术--加starter

    第二章、基础配置

    1、配置文件格式

    《1、端口号配置》

    《2、将目录文件添加到配置文件识别中》

    配置文件加载顺序:application.properties > application.yml > application.yaml

    2、yaml

    《1、语法格式》

    语法规则:------------一般根据他的语法提示就好了-----------

    缩进空格多少表示层级关系;数据前面要有空格

    logging:
      level:
        root: warn

    数组数据

    《2、数据读取三方式》

    1、直接读取----直接定义Value及变量

    1. @Value("${server.port}")
    2. private int port;
    3. @Value("${enterprise.subject[1]}")
    4. private String subject__01;

    2、封装对象读取----定义对象获取数据

    将所有数据都加载到对象中,使用属性来获取数据

    1. @Autowired
    2. private Environment environment; //使用独立的对象。将所有数据加载进去,直接使用对象来读取具体的数据
    3. @GetMapping("{id}")
    4. public String getId(@PathVariable Integer id) {
    5. System.out.println("id---->" + id);
    6. System.out.println(environment.getProperty("lession"));
    7. System.out.println(environment.getProperty("server.port"));
    8. System.out.println(environment.getProperty("enterprise.subject[2]"));
    9. return "{'module':'kaonijiwa'}";
    10. }

    3、封装实体类读取----定义实体类获取数据  --将数据转换为数据对象

    针对数据定义实体类

    1. @Component//加载为bean让spring识别
    2. @ConfigurationProperties(prefix = "enterprise") //从配置文件中获取属性 使之与本实体类属性对应
    3. public class Enterprise {
    4. private String name;
    5. private Integer age;
    6. private String tel;
    7. private String[] subject;
    8. //接下来还要setter & getter

    直接自动装配 获取实体类对象

    1. @Autowired
    2. private Enterprise enterprise;

    对象打印即可获取数据

    3、多环境启动

    注意:

    1、package之前先从clean!

    2、设置中encoding全部设置为utf-8

    《1、yaml配置》

    1. #三个横线 --- 代表一个文件
    2. #设置启用的环境
    3. spring:
    4. profiles:
    5. active: test
    6. ---
    7. #开发
    8. spring:
    9. profiles: dev
    10. server:
    11. port: 90
    12. ---
    13. #生产
    14. spring:
    15. profiles: pro
    16. server:
    17. port: 91
    18. ---
    19. #测试
    20. spring:
    21. profiles: test
    22. server:
    23. port: 92

    文件配置(麻烦--了解)

    《2、多环境命令行启动参数设置》

    按照指定环境启动    开发--dev 、 生产--pro 、 测试--test

    1. 格式:
    2. java - jar jar包名 --spring.profiles.active=启动参数
    3. 举例:
    4. java -jar /Users/wangjia/Desktop/CS/Spring/SpringBoot/target/springboot_01-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev

    指定端口号:  跟在后面写就行了

    --server.port=xxx

    命令行优先级高于配置文件。

    所以可以使用命令行设置参数临时覆盖配置参数。

    《3、多环境开发兼容问题》

    maven、SpringBoot均要设置多环境。以maven为主,SpringBoot配置为辅。

     

    3、clean -> package

    4、配置文件分类

    第三章、整合第三方技术

    1、SpringBoot整合JUnit

    对于设置运行器、加载环境,每一次都是一样的,只有环境名称不一样,所以直接使用

    @SpringBootTest代替二者。

    1. @SpringBootTest //= 运行器@RunWith() + 加载启动类
    2. //此处没有再设置启动类 是因为 测试类在启动类SpringBootApplication.class的包或者子包内
    3. class Springboot01ApplicationTests {
    4. @Autowired
    5. private BookService bookService;//自动装配测试类对象
    6. @Test
    7. public void save(){
    8. bookService.save();
    9. }
    10. }
    11. //其他的都不需要设置了

    2、SpringBoot整合Mybatis

    前置知识:

     

    ----在创建新模块或项目要勾选SQL、Mybatis

    《1、写实体类》

    domain.Book

    1. public class Book {
    2. private Integer id;
    3. private String name;
    4. private String type;
    5. public String toString() {}
    6. getter & setter
    7. }

    《2、写数据层注解开发》

    没有实体对象,在采用自动代理时要使用@Mapper标示--定义数据层接口

    dao.XXXDao

    1. @Mapper //只有一个接口,在测试时没有对象。采用了自动代理,要标注一下!
    2. public interface BookDao {
    3. @Select("select * from tbl_book where id = #{id}")
    4. public Book getById(Integer id);
    5. }

    《3、写数据库登录信息配置文件》

    在文件application.yml中写配置

    1. spring:
    2. datasource:
    3. driver-class-name: com.mysql.jdbc.Driver
    4. url: jdbc:mysql://localhost:3306/ssm_db
    5. username: root
    6. password: wbj731290
    7. type: com.alibaba.druid.pool.DruidDataSource
    8. #指定druid数据源 同时记得pom要添加坐标依赖

    3、SpringBoot整合SSM

    基本点:

    --config文件夹下所有配置类都不需要了

    --Dao层自动代理,要添加@Mapper

    --数据库登录信息要写在yml文件中

    --由于是整合了前后端 web 要选、Mybatis要选、mysql要选

     

  • 相关阅读:
    Qt Design Studio 4.5现已发布
    Handler入门
    计算机网络专项练习题
    meta视口标签
    从编写TcpStatC谈c++代码改写为masm32代码的两个需要注意的地方
    抖音作品评论id提取工具|视频内容提取软件
    Java│蓝桥杯省赛真题星期一问题
    第十七章·命令模式
    PyQt5快速开发与实战 7.1 信号与槽介绍
    VUE 级联菜单cascader 的options动态加载页面无变化
  • 原文地址:https://blog.csdn.net/m0_61843855/article/details/132641356