JavaWeb框架 - Springboot02

Springboot

  1. Springboot中的热部署:
    • 在开发中反复的修改类和静态资源每一次修改需要重新的启动才能生效 但是这样是非常的麻烦 浪费了非常多的时间 但是使用热部署的形式能在修改代码之后不用重启生效 热部署需要的配置如下:

       
      <dependency> 
      	<groupId>org.springframework.bootgroupId> 
      	<artifactId>spring-boot-devtoolsartifactId> 
      dependency>
      
    • 需要注意的一点:就是在idea中默认情况下是不使用自动编译的 要想使用热部署需要使用自动编译 进行自动编译的配置如下:首先是在settings配置中找到如下配置:
      JavaWeb框架 - Springboot02_第1张图片

    • 使用快捷键Shift+Ctrl+Alt+/,选择Registry 进行如下的配置: 配置完成之后就能进行Springboot的热部署
      JavaWeb框架 - Springboot02_第2张图片

  2. Springboot中的起步依赖的原理分析:
    • 从Springboot中的起步依赖中进行分析:找到启动器中是一系列的依赖的引入 这样的也是印证了Springboot中的依赖引入是依据功能的 (其实就像是将功能所需要的依赖进行封装 有点像是面向对象的意思)
      JavaWeb框架 - Springboot02_第3张图片
  3. Springboot中自动配置的原理的分析:
    • @SpringBootApplication注解的分析: SpringBootApplication是由三个注解组成的:
      • @SpringBootConfiguration:等同与@Configuration,既标注该类是Spring的一个配置类
      • @EnableAutoConfiguration:SpringBoot自动配置功能开启
      • @ComponentScan:指定的是注解扫描的包:
        JavaWeb框架 - Springboot02_第4张图片
    • @EnableAutoConfiguration注解源码可以看出:@Import(AutoConfigurationImportSelector.class) 导入了AutoConfigurationImportSelector类
      JavaWeb框架 - Springboot02_第5张图片
    • AutoConfigurationImportSelector类中SpringFactoriesLoader.loadFactoryNames 方法的作用就是从META-INF/spring.factories文件中读取指定类对应的类名称列表配置文件存在大量的以Configuration为结尾的类名称,这些类就是存有自动配置信息的类,而SpringApplication在获取这些类名后再加载
      JavaWeb框架 - Springboot02_第6张图片
  4. Springboot中的配置文件:
    • 配置文件的类型:一种就是application.properties另一种就是application.yml(application.yaml)进行配置
    • 默认的加载文件的位置:SpringBoot默认会从Resources目录下加载application.properties 或者是application.ymlapplication.yaml)文件
    • 配置文件中的yml形式 (properties文件的形式在以前使用框架的时候已经使用很多次了 这里就不再详述)
      • application.yml配置文件详解:
        • yml配置文件简介 YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的的数据数据序列化格式 YML文件是以数据为核心的,比传统的xml方式更加简洁(这也就是有人说yml的形式比较好的原因) YML文件的扩展名可以使用.yml或者.yaml
      • yml文件的语法:
        • 普通类型的数据 key: value 需要注意的就是 : 之后有一个空格

        • 要是存储的是对象类型的数据 或者是Map类型的数据使用的语法就是:需要注意的就是key前面的缩进(空格个数)是没有限定的 在yml语法中只要是相同的缩进就是相同的级别

          key: 
          	key1: value1 
          	key2: value2
          或者:
          key: {key1: value1,key2: value2}
          
        • 数组类型(Set类型的数据)语法:

          key: 
          	- value1 
          	- - value2
          或者:
          key: [value1,value2]
          
    • 配置类和配置文件之间的属性映射:两种方式
      • 一种就是使用注解:@Value映射 通过@Value注解将配置文件中的值映射到一个Spring管理的Bean的字段上 这样的方式在spring中用过非常多次 不在详述
      • 另一种的形式:使用注解@ConfigurationProperties映射 @ConfigurationProperties(prefix=“配置文件中的key的前缀”)可以将配置文件中的配置自动与实体进行映射 这种形式是按照配置文件的前缀进行映射但是需要注意一点:使用@ConfigurationProperties方式可以进行配置文件与实体字段的自动映射,但需要字段必须提供set方法才可以,而使用@Value注解修饰的字段不需要提供set方法
  5. SpringBoot和其他技术的整合: Springboot和其他的技术的整合 非常的方便 不像是Spring框架的整合需要比较复杂
    • SpringBoot和 Mybatis的整合的步骤:只需要简单的两步
      • 添加起步依赖:添加Mybatis 和 MySQL的起步依赖 要执行jdbc的操作MySQL是必不可少的

         
        <dependency> 
        	<groupId>org.mybatis.spring.bootgroupId> 
        	<artifactId>mybatis-spring-boot-starterartifactId> 
        	<version>1.1.1version> 
        dependency>
         
        <dependency>
        	 <groupId>mysqlgroupId> 
        	 <artifactId>mysql-connector-javaartifactId> 
         dependency>
        
      • application.properties中添加数据库的连接信息

        #DB Configuration:
        spring.datasource.driverClassName=com.mysql.jdbc.Driver
        spring.datasource.url=jdbc:mysql://127.0.0.1:3306/数据库名称t?useUnicode=true&characterEncoding=utf8
        spring.datasource.username=用户名称
        spring.datasource.password=密码

      • 在application.properties文件中添加mybatis的信息

        #spring集成Mybatis环境
        #pojo别名扫描包
        mybatis.type-aliases-package=pojo所在的包
        #加载Mybatis映射文件
        mybatis.mapper-locations=classpath:mapper/*Mapper.xml

你可能感兴趣的:(JavaWeb框架,#,SpringBoot,springboot)