注意事项:
1.京淘项目概述和动吧项目缺点描述
2.把sql文件导入数据库:通过SqlYog可视化工具或者Dos命令窗口。
3.SqlYog说明,和制作物理模型图的工具pd用发。
4.表结构学习
5.springBoot中pom文件标签的说明。
6.京淘项目环境搭建(检查jdk环境,配置路径,配置maven)
7.创建spring boot项目的2种方式
8.创建包 类 接口 注解 枚举 yml文件的方式。
9.用主启动类运行项目的方式。
10.SpringBoot启动原理说明:开箱即用,启动项等(元注解)。
11.在idea中如何导入 删除项目,如何打包发布项目 。

1 京淘项目概述

SQL SERVER 装在C盘了 sql安装在c盘不能改_数据库


解释:动吧旅游项目问题?

  1. 只有一个tomact服务器,将来有很多用户请求不能应对高并发,多批量的操作。 -------解决:配置tomact服务器集群。
  2. 现在 用户访问服务器:http:localhost:80但是还是访问一台服务器。将来项目上线后是通过域名进行访问某些具体的服务器 ------解决:使用代理服务器,一般在为了保证安全在前面有一道防火墙。流程:用户统一访问代理服务器,由代理服务器再把请求分发给不同的业务服务器。
  3. tomact服务器的并发能力:150~240个/秒 一秒钟提供150-240个请求。
    如果不在经过jvm调优 200左右,如果通过jvm调优可以实现单台tomact服务器1000/秒 左右的的并发能力。-----调优核心秘诀:扩大tomact处理内存的容量,但是并不是一味的调大就可以,调到某一程度最大在调可能会变弱。
  4. 数据将来储存到数据库,一般是mysql. 数据库最大的连接数(即:可以允许并发的数量):1000个 . 连接数据库的connection. 用户如果有很多个请求,数据库如何提高性能呢? 配置 ,主数据库 从数据库。好处:数据库一般都是电子设备,怕水和火。为了保证数据的安全性,数据一般存好几份,分好几个机房进行储存,一个地方出现问题也不影响其它地方。但这又出现了新问题,数据库的链接地址:jdbc:///127.0.0.1:3306,这样只能链接一台数据库,为了降低数据库的负载压力配置代理数据库,用户请求先连接代理数据库服务器 ( 主库和从库的特点:主库可以把数据源源不断的同步到从库,保证主库的数据就是从库的数据),把写库的操作放在主库,读数据就在从库进行读取。------这样就实现了读和写的分离,这种分别依次读取多态数据库的操作叫做负载均衡
  5. 将来用户可能有大批量读的操作,每次访问数据库即使数据库处理能力再高也会占用有限的资源。那么该如何让用户读取的操作更加快速呢? 使用缓存服务器,可能有多个缓存服务器叫做缓存的集群。这样就可以解决大量的读的操作。 那么写的操作如何解决呢? 队列,如果缓存也经受不住考验,再加上队列来缓解数据库的读写压力。
    总结:像这种即使出了问题也不影响程序运行的方式叫做—高可用性,即使后台服务器出了问题也不影响用户的正常访问

以上都是单体架构的方式,缺点:其中一个部分坏掉,整个的业务逻辑也会坏掉。解决:微服务架构。

2 导入京淘数据库

2.1 安装SqlYog可视化工具

注意:这个sql文件是通过sqlyog导出的数据库文件,所以导入最好也用这个工具否则比如用navicat可能会出现数据丢失现象

双击运行:在课前资料的软件中解压到比如D盘中,进入这个目录把它发送到桌面,它是绿色免安装版,只需解压就可使用

第一次用的话可能会要进行注册,只需要把sn.txt文件里面的破解的注册码信息粘贴过去就行。

软件介绍:SQLyog 是一个快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库,由业界著名的Webyog公司出品。使用SQLyog可以快速直观地让您从世界的任何角落通过网络来维护远端的MySQL数据库。

SQL SERVER 装在C盘了 sql安装在c盘不能改_maven_02

2.2 连接数据库

步奏:双击运行-----点击左上角的按钮(出现这个窗口)     
如果没有,点击新建,然后再输入对应的信息如图( 前提是数据库正常安装了)

SQL SERVER 装在C盘了 sql安装在c盘不能改_maven_03

2.3 导入JT数据库

说明:导入课前资料中的jtdb.sql 数据库文件.

步奏: 点击左侧空白处右键—从SQL转储文件导入数据库----然后选择数据库的文件进行导入—执行—之后进行刷新.

SQL SERVER 装在C盘了 sql安装在c盘不能改_maven_04

SQL SERVER 装在C盘了 sql安装在c盘不能改_spring boot_05


方式2: source 路径/jtdb.sql;

步骤:找到数据库文件的安装根目录位置—在窗口上cmd—可以直接进入到DOS窗口中文件目录的位置,直接在这个路径下输入dir可以看到当前文件的目录结构.再通过指令如下指令导入数据库.

注意: 不能重复导入数据库, 导入之后把数据库刷新一下(左上角第6个图标)

SQL SERVER 装在C盘了 sql安装在c盘不能改_idea_06

3 物理模型图

使用场景分析,传统数据库使用Dos窗口的问题:

如果直接使用数据库的视图方式来检查表与表之间的关系是非常困难的。如果需要做业务处理则看下图中的表非常的不方便。

SQL SERVER 装在C盘了 sql安装在c盘不能改_数据库_07


解决:使用物理模型图设计表与表之间的联系。

在项目创建初期,由高级程序员来规划表关系。通过软件可以将表与表之间的关联通过视图的形式直观的给程序员展现,可以快熟的熟悉公式的业务流程。

SQL SERVER 装在C盘了 sql安装在c盘不能改_maven_08


最新版的navicat可以画图,公司一般常用的是PD软件。

4 Power designer

4.1 PD介绍

PowerDesigner最初由Xiao-Yun Wang(王晓昀)在SDP Technologies公司开发完成。PowerDesigner是Sybase的企业建模和设计解决方案,采用模型驱动方法,将业务与IT结合起来,可帮助部署有效的企业体系架构,并为研发生命周期管理提供强大的分析与设计技术。PowerDesigner独具匠心地将多种标准数据建模技术(UML、业务流程建模以及市场领先的数据建模)集成一体,并与 .NET、WorkSpace、PowerBuilder、Java™、Eclipse 等主流开发平台集成起来,从而为传统的软件开发周期管理提供业务分析和规范的数据库设计解决方案。此外,它支持60多种关系数据库管理系统(RDBMS)/版本。PowerDesigner运行在Microsoft Windows平台上,并提供了Eclipse插件。
1).PD 可以根据不同的数据库类型,动态的生存Sql语句.
2).PD是一种可视化的软件.可以将表与表之间的关联关系,直观的展现.

4.2 PD安装和使用 (安装和破解)

SQL SERVER 装在C盘了 sql安装在c盘不能改_数据库_09

1).执行EXE文件(解压后双击安装,下一步即可,注意这个课前资料是windows版本的,电脑是其他系统的就不要在安装了)

注意事项: 1.安装软件的目录,比如在D盘的目录文件不要写中文,空格.

2. 安装时注意,可以选择软件的安装路径(没有指定在c盘), 选择中文格式(PRC)----同意协议.如下图: 在之后什么都不需要选—下一步下一步即可 (有时候安装有一个.NET,点击在线安装,会联网下载这个软件)----Finish即可.

SQL SERVER 装在C盘了 sql安装在c盘不能改_SQL SERVER 装在C盘了_10


SQL SERVER 装在C盘了 sql安装在c盘不能改_数据库_11

SQL SERVER 装在C盘了 sql安装在c盘不能改_idea_12


2).汉化软件

如果打开pd需要先关上软件(打开时不允许汉化)----找到pd的安装目录(1.如果安装时指定了目录就在指定位置找.2.如果没有指定默认是在c盘 总结:找文件目录, 在电脑windows窗口收索—PowerDesigner----右键) 然后打开课前资料的汉化版的补丁把所有的`dll文件复制到pd安装的根目录黏贴 (如图)覆盖原有的文件就行(注意不要把原来的所有文件删除,他只是替换掉原有的重复文件)----在把pd的软件发送到桌面就行. 卸载–在安装目录中的软件右键–remove–下一步.

SQL SERVER 装在C盘了 sql安装在c盘不能改_spring boot_13

4.3 PD入门案例

步骤: 打开软件—文件—建立新模型----Model type—物理模型图 (如下图所示)

SQL SERVER 装在C盘了 sql安装在c盘不能改_spring boot_14

4.4 创建物理模型图

SQL SERVER 装在C盘了 sql安装在c盘不能改_idea_15

4.5 安装时出现的问题分析:(查看博客错题集)

如:PD安装时没有出现数据库类型:(没有找到DBM的目录)只需要点击指定pd中的这个目录.

SQL SERVER 装在C盘了 sql安装在c盘不能改_idea_16


SQL SERVER 装在C盘了 sql安装在c盘不能改_maven_17

4.6 PD入门

使用 pattle图标生成物理模型图: 点击Tabble鼠标左键生成 删除是: delete
使用物理模型图生成表: 双击如图: Name :名是给人看的 Code:是给数据库看的(一般表名首字母大写,不写中文)----应用,确定----添加表中的字段(columns)

查找 pattle工具: 工具(从右到左第三个)—自定义工具栏—会弹出Toolbars窗口–勾选里面的Pattle即可.

SQL SERVER 装在C盘了 sql安装在c盘不能改_SQL SERVER 装在C盘了_18

同上 Name:是给人看的 code:数据库看的 Data Type:数据库类型 p:设置主键

Preview: 根据属性,生成sql字段 将来可以直接复制黏贴到Dos窗口执行即可

SQL SERVER 装在C盘了 sql安装在c盘不能改_spring boot_19

4.7 主键自增的设定

双击左侧出现小箭头—再双击出现这个弹窗—勾选右下角—identity设置主键自增–应用,确定.

在sql语句的标示: auto_increment

SQL SERVER 装在C盘了 sql安装在c盘不能改_spring boot_20

5 表结构学习

5.1 一对一

业务场景:

User表~~~~~UserInfo表

从左向右看 : 1个用户1个详情

从右向左看: 1个详情1个用户

pk:主键

那么如何画这种关系呢? 通过主外键关联.(使用第二行倒数第二个图标 由从表到主表 下面类似T的图标可以写添加汉字,如下) 如果连接好会出现外键 fk,如果画线不成功—双击这个线—出现弹窗-----joins—Child Table Column(点击它的列表键)—用户编号–应用,确定.

注意不能改父级字段,只能改自己的字段(相当于要求别人家的字段与自己表中的字段进行主外键映射)

SQL SERVER 装在C盘了 sql安装在c盘不能改_数据库_21


解释下图: 左边是主表,右边是从表, 主键是唯一的,外键不是唯一的 . 用户表中的主键作为详情表中的外键, 并且外键和主键作为标示了同一个字段 都有主键所以都是双向一对一.

SQL SERVER 装在C盘了 sql安装在c盘不能改_idea_22

5.2 一对多

业务场景:

用户和部门 由从表到主表画线(范围大的是主表)

从左向右看: 1个用户对应1个部门 一对一 (主键对应主键)

从右向左看: 1个部门有多个用户 一对多 (一个主键对应多个外键)

SQL SERVER 装在C盘了 sql安装在c盘不能改_数据库_23

5.3 多对多

业务场景:

角色和权限

1个角色对应多个权限 一对多

1个权限对应多个角色 一对多

多对多用中间表 直接创建表不需要写字段 有从表到主表画线.

注意: 2个外键同时出现名字不能相同 fk1和fk2不能名字相同

SQL SERVER 装在C盘了 sql安装在c盘不能改_maven_24

5.4 京淘项目表结构

SQL SERVER 装在C盘了 sql安装在c盘不能改_idea_25

6 SpringBoot加强

6.1 SpringBoot框架高级说明(pom文件的标签的说明)

6.1.1 parent标签的作用

<!--1.jar包种类繁多
		A.jar 1.0版本   B.jar 2.0版本    C.jar 3.0版本
		A.jar 2.0版本   B.jar 2.0版本    C.jar 3.0版本
		早期的jar包版本 可能出现jar包冲突的问题.
		所有采用parent标签的方式 统一定义了版本号  由官方自己进行测试,
		将允许稳定的版本统一的管理.在后期的依赖项中就不需要在添加版本了。
	  -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.3.2.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>

解释:relativePath标签

<relativePath /> <!-- lookup parent from repository -->

设定一个空值将始终从仓库中获取,不从本地路径获取,如<relativePath />
Maven parent.relativePath
默认值为../pom.xml
查找顺序:relativePath元素中的地址–本地仓库–远程仓库

思考:为什么parent标签定义好了版本号,为什么还要有dependencies呢? parent相当于一个购物商城,只做了版本的定义。dependencies相当于要什么只需要告诉它要什么。

6.1.2 关于maven 插件的说明

<!-- maven项目指定的插件配置,该插件主要负责maven项目相关操作:打包/test/clean/update等相关maven操作 注意事项:但凡是maven项目则必须添加 插件.否则将来项目部署必然出错 -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

6.1.3 关于Maven 属性的配置

<!--当前maven配置信息 -->
	<properties>
	<!--配置jdk版本版本  -->
		<java.version>1.8</java.version>
		<!--定义maven插件版本  -->
		<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
		<!--定义跳过配置类打包 ,项目在发布后不需要测试类。但不能手动删,将来可能会用,所以用这个配置跳过测试类打包-->
		<skipTests>true</skipTests>
	</properties>

6.1.4 依赖与本地仓库的关系

1).

<!--maven的依赖 利用坐标的形式管理jar包 本地仓库之间有什么关系呀?  -->
		<dependency>
			<!--组ID, 公司域名倒写.  -->
			<groupId>org.springframework.boot</groupId>
			<!--具体项目名称  -->
			<artifactId>spring-boot-starter-web</artifactId>
			<!--版本号 被parent标签提前定义 -->
			<!-- <version>2</version> -->
		</dependency>

2).本地仓库内容

SQL SERVER 装在C盘了 sql安装在c盘不能改_maven_26

3).规则说明
如果以后下载jar包时,遇到maven依赖异常.则首先查询本地仓库中是否有该jar包的完整版本.如果发现jar包文件下载不完全,则需要删除之后重新下载.

6.1.5 jar包与jar包之间的依赖传递性说明

问题:导入了web依赖,为什么会自动导入其他依赖呢 如:tomact json等。

1.说明: maven具有jar包的依赖性

例如: A.jar---->B.jar ------> C.jar

只要导入A.jar 那么b/c都会自动的完成依赖

SQL SERVER 装在C盘了 sql安装在c盘不能改_SQL SERVER 装在C盘了_27

2).检查POM.xml文件

说明:由于maven加载jar包之后还会去加载该jar包文件的POM文件,如果该POM文件中依赖了其他的jar包(如下图所示:打开的jar包中的pom文件),那么maven也会自动的进行加载.

SQL SERVER 装在C盘了 sql安装在c盘不能改_spring boot_28

7 京淘项目环境搭建

7.1 JDK环境说明

检查jdk环境

SQL SERVER 装在C盘了 sql安装在c盘不能改_idea_29

7.2 JDK环境变量配置

在系统变量中配置:jdk根目录和path路径。

SQL SERVER 装在C盘了 sql安装在c盘不能改_数据库_30

7.3 Maven配置

7.3.1 本地仓库位置

打开maven中的conf/setting.xml文件,并对其如下选项进行配置。

1.配置maven本地库(从maven远程服务器下载的资源存储到的位置) 55行

<localRepository>${user.home}/.m5/repository</localRepository>

解释:(use.home 表示在:c盘----当前用户User—Administrator 配置完后下面的目录.m5会帮你自动创建)
这里改用E盘,这2个目录会自动帮你创建

<localRepository>E:/jarbaocangku-idea/repository</localRepository>

SQL SERVER 装在C盘了 sql安装在c盘不能改_spring boot_31

7.3.2 检查Maven私服镜像位置

检查Maven私服镜像的地址 (maven安装的目录—conf目录–setting.xml,160行左右,一般用阿里云的)

<mirror>
	<id>aliyun</id>
	<name>aliyun for maven</name>
	<mirrorOf>*</mirrorOf>
	<url>https://maven.aliyun.com/repository/public</url>
   </mirror>

SQL SERVER 装在C盘了 sql安装在c盘不能改_spring boot_32

7.3.3 配置maven中JDK编译和运行版本

配置到profiles标签内部,230行

<profile>
  <id>jdk-1.8</id>
  <activation>
   <activeByDefault>true</activeByDefault>
     <jdk>1.8</jdk>
  </activation>
  <properties>
      <maven.compiler.source>1.8</maven.compiler.source>
      <maven.compiler.target>1.8</maven.compiler.target>
      <maven.compiler.compilerVersion>
      1.8
    </maven.compiler.compilerVersion>
    </properties>
</profile>

SQL SERVER 装在C盘了 sql安装在c盘不能改_spring boot_33

8 创建项目测试

8.1 IDEA创建SpringBoot(第一种)

步骤:选中工作空间(右键)----new—module(模块)

module:模块,工作空间里的一个个项目称之为一个个的模块。

SQL SERVER 装在C盘了 sql安装在c盘不能改_idea_34

SQL SERVER 装在C盘了 sql安装在c盘不能改_idea_35


SQL SERVER 装在C盘了 sql安装在c盘不能改_数据库_36


添加web依赖

SQL SERVER 装在C盘了 sql安装在c盘不能改_数据库_37

SQL SERVER 装在C盘了 sql安装在c盘不能改_SQL SERVER 装在C盘了_38


SQL SERVER 装在C盘了 sql安装在c盘不能改_SQL SERVER 装在C盘了_39

8.2 SpringBoot项目创建方式(第二种)

8.2.1 步骤

用普通Maven项目创建项目,相比用插件创建项目缺少:1.pom文件缺失依赖。2:缺少主启动类。3.因为添加了web依赖,所以缺少resources目录下的static templates 配置文件目录。因为是聚合工程用不到这2个目录static templates,所以不用创建。4.缺少配置文件

SQL SERVER 装在C盘了 sql安装在c盘不能改_数据库_40


SQL SERVER 装在C盘了 sql安装在c盘不能改_SQL SERVER 装在C盘了_41


SQL SERVER 装在C盘了 sql安装在c盘不能改_SQL SERVER 装在C盘了_42


SQL SERVER 装在C盘了 sql安装在c盘不能改_SQL SERVER 装在C盘了_43

8.2.2 编辑POM.xml文件

添加缺少的依赖坐标:
普通maven项目相比springboot项目的pom文件缺少4个标签:1.parent标签。2.maven属性标签properties。3.第三方依赖标签dependencies。4.插件标签build。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.jt</groupId>
    <artifactId>springboot_demo2</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!--1.统一定义父级项目-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <!--2.properties标签,当前maven配置信息如:jdk版本,插件版本(可加可不加),跳过测试类打包等。-->
    <properties>
        <java.version>1.8</java.version>
        <skipTests>true</skipTests>
    </properties>
    <!--3.引入第三方依赖-->
    <dependencies>
        <!--整合springmvc的-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--整合test文本的-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <!--4.添加插件-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

注意:添加完依赖后要进行更新

SQL SERVER 装在C盘了 sql安装在c盘不能改_SQL SERVER 装在C盘了_44

8.3 编辑主启动类

8.3.1 创建包

在java目录上右键—new—package(起个名字如:com.ct)—点击键盘上的Enter键。

注意在idea中包和类是分开创建的,没有像sts那样在创建类的同时可以创建包

SQL SERVER 装在C盘了 sql安装在c盘不能改_idea_45

8.3.2 创建类(接口 枚举 注解)

在包名上右键----new–java class

SQL SERVER 装在C盘了 sql安装在c盘不能改_SQL SERVER 装在C盘了_46

package com.ct;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication//标识我是一个SpringBoot的项目
public class SpringBootRun {
    public static void main(String[] args) {
    /**
     * main方法是java程序的唯一入口
     * @param args
     */
        SpringApplication.run(SpringBootRun.class,args);
    }
}

8.8.3 运行

运行:在主启动类的方法名字上右键…

SQL SERVER 装在C盘了 sql安装在c盘不能改_idea_47

8.8.4 编辑测试Controller

package com.jt.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    /**
     * 用户通过/hello的路径获取 友好的提示信息.
     */
    @RequestMapping("/hello")
    public String hello(){

        return "搭建环境真困难,为什么就我的不行呢? 我昨天干了什么呢!!!!!";
    }
}

运行

SQL SERVER 装在C盘了 sql安装在c盘不能改_SQL SERVER 装在C盘了_48

9 SpringBoot启动原理说明

9.1 需求说明

1.SpringBoot启动是如何流转的.
2.什么叫做开箱即用,springBoot中如何实现开箱即用的.

9.2 "开箱即用"说明

如果需要引入第三方的"工具/功能",只需要经过少量的配置/或者不做任何配置.则就可以使用该功能.

9.2.1 关于启动项的说明

<!--直接的依赖项-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <!--springBoot启动项 内部的jar包文件已经将配置准备完成,用户
            只需要导入jar包就可以获取其功能.
            starter-web  直接引入了SpringMVC框架
            传统mvc框架配置:
                    1.导入特定的jar包及版本.
                    2.编辑web.xml配置 dispatcherServler  拦截路径
                    3.配置mvc的配置文件  包扫描  视图解析器....

            -->
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

9.3 SpringBoot程序启动加载过程

SQL SERVER 装在C盘了 sql安装在c盘不能改_SQL SERVER 装在C盘了_49

9.3.1 元注解说明:

@Target(ElementType.TYPE) 对哪个元素有效 对类有效
@Retention(RetentionPolicy.RUNTIME) 什么时候起作用 运行期有效
@Documented 是否支持生成文档
@Inherited 该注解是否可以被继承.

9.3.2 SpringBootConfiguration说明

作用:标识主启动类是一个大型的配置文件,启动时会加载所有的小的配置文件.

@Configuration: 表示该类是一个配置类.

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration
public @interface SpringBootConfiguration {.....}

9.3.3 excludeFilters 说明

说明: 在springboot容器启动时,不需要加载某些过滤器.由于parent标签中定义了所有的关联的jar包文件信息.则启动时有可能导致意外的发生,所有需要提前剔除.

@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })

9.3.4 @AutoConfigurationPackage

说明: 当程序启动时,会根据主启动类的包路径,扫描其子孙包,所以springboot以后写代码时应该在其子孙包下编辑.

9.3.5 AutoConfigurationImportSelector

说明:该配置中内部集成了所有的SpringBoot中的选择器.这些选择器的主要的任务就是查看是否有自己选择器所管理的启动项的配置. 如果发现该启动项,那么选择器就会执行该启动项,从而实现了开箱即用的操作.

1.创建yml文件:resources—new—file(application.yml)

2.配置日志级别,启动项目。

SQL SERVER 装在C盘了 sql安装在c盘不能改_maven_50

============================
CONDITIONS EVALUATION REPORT
============================


Positive matches:
-----------------

   AopAutoConfiguration matched:
      - @ConditionalOnProperty (spring.aop.auto=true) matched (OnPropertyCondition)

   AopAutoConfiguration.ClassProxyingConfiguration matched:
      - @ConditionalOnMissingClass did not find unwanted class 'org.aspectj.weaver.Advice' (OnClassCondition)
      - @ConditionalOnProperty (spring.aop.proxy-target-class=true) matched (OnPropertyCondition)

   DispatcherServletAutoConfiguration matched:
      - @ConditionalOnClass found required class 'org.springframework.web.servlet.DispatcherServlet' (OnClassCondition)
      - found 'session' scope (OnWebApplicationCondition)

   DispatcherServletAutoConfiguration.DispatcherServletConfiguration matched:
      - @ConditionalOnClass found required class 'javax.servlet.ServletRegistration' (OnClassCondition)
      - Default DispatcherServlet did not find dispatcher servlet beans (DispatcherServletAutoConfiguration.DefaultDispatcherServletCondition)

   DispatcherServletAutoConfiguration.DispatcherServletRegistrationConfiguration matched:
      - @ConditionalOnClass found required class 'javax.servlet.ServletRegistration' (OnClassCondition)
      - DispatcherServlet Registration did not find servlet registration bean (DispatcherServletAutoConfiguration.DispatcherServletRegistrationCondition)

   DispatcherServletAutoConfiguration.DispatcherServletRegistrationConfiguration#dispatcherServletRegistration matched:
      - @ConditionalOnBean (names: dispatcherServlet types: org.springframework.web.servlet.DispatcherServlet; SearchStrategy: all) found bean 'dispatcherServlet' (OnBeanCondition)

   EmbeddedWebServerFactoryCustomizerAutoConfiguration matched:
      - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition)

   EmbeddedWebServerFactoryCustomizerAutoConfiguration.TomcatWebServerFactoryCustomizerConfiguration matched:
      - @ConditionalOnClass found required classes 'org.apache.catalina.startup.Tomcat', 'org.apache.coyote.UpgradeProtocol' (OnClassCondition)

   ErrorMvcAutoConfiguration matched:
      - @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.springframework.web.servlet.DispatcherServlet' (OnClassCondition)
      - found 'session' scope (OnWebApplicationCondition)

   ErrorMvcAutoConfiguration#basicErrorController matched:
      - @ConditionalOnMissingBean (types: org.springframework.boot.web.servlet.error.ErrorController; SearchStrategy: current) did not find any beans (OnBeanCondition)

   ErrorMvcAutoConfiguration#errorAttributes matched:
      - @ConditionalOnMissingBean (types: org.springframework.boot.web.servlet.error.ErrorAttributes; SearchStrategy: current) did not find any beans (OnBeanCondition)

   ErrorMvcAutoConfiguration.DefaultErrorViewResolverConfiguration#conventionErrorViewResolver matched:
      - @ConditionalOnBean (types: org.springframework.web.servlet.DispatcherServlet; SearchStrategy: all) found bean 'dispatcherServlet'; @ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.servlet.error.ErrorViewResolver; SearchStrategy: all) did not find any beans (OnBeanCondition)

   ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration matched:
      - @ConditionalOnProperty (server.error.whitelabel.enabled) matched (OnPropertyCondition)
      - ErrorTemplate Missing did not find error template view (ErrorMvcAutoConfiguration.ErrorTemplateMissingCondition)

   ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration#beanNameViewResolver matched:
      - @ConditionalOnMissingBean (types: org.springframework.web.servlet.view.BeanNameViewResolver; SearchStrategy: all) did not find any beans (OnBeanCondition)

   ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration#defaultErrorView matched:
      - @ConditionalOnMissingBean (names: error; SearchStrategy: all) did not find any beans (OnBeanCondition)

   GenericCacheConfiguration matched:
      - Cache org.springframework.boot.autoconfigure.cache.GenericCacheConfiguration automatic cache type (CacheCondition)

   HttpEncodingAutoConfiguration matched:
      - @ConditionalOnClass found required class 'org.springframework.web.filter.CharacterEncodingFilter' (OnClassCondition)
      - found 'session' scope (OnWebApplicationCondition)
      - @ConditionalOnProperty (server.servlet.encoding.enabled) matched (OnPropertyCondition)

   HttpEncodingAutoConfiguration#characterEncodingFilter matched:
      - @ConditionalOnMissingBean (types: org.springframework.web.filter.CharacterEncodingFilter; SearchStrategy: all) did not find any beans (OnBeanCondition)

   HttpMessageConvertersAutoConfiguration matched:
      - @ConditionalOnClass found required class 'org.springframework.http.converter.HttpMessageConverter' (OnClassCondition)
      - NoneNestedConditions 0 matched 1 did not; NestedCondition on HttpMessageConvertersAutoConfiguration.NotReactiveWebApplicationCondition.ReactiveWebApplication did not find reactive web application classes (HttpMessageConvertersAutoConfiguration.NotReactiveWebApplicationCondition)

   HttpMessageConvertersAutoConfiguration#messageConverters matched:
      - @ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.http.HttpMessageConverters; SearchStrategy: all) did not find any beans (OnBeanCondition)

   HttpMessageConvertersAutoConfiguration.StringHttpMessageConverterConfiguration matched:
      - @ConditionalOnClass found required class 'org.springframework.http.converter.StringHttpMessageConverter' (OnClassCondition)

   HttpMessageConvertersAutoConfiguration.StringHttpMessageConverterConfiguration#stringHttpMessageConverter matched:
      - @ConditionalOnMissingBean (types: org.springframework.http.converter.StringHttpMessageConverter; SearchStrategy: all) did not find any beans (OnBeanCondition)

   JacksonAutoConfiguration matched:
      - @ConditionalOnClass found required class 'com.fasterxml.jackson.databind.ObjectMapper' (OnClassCondition)

   JacksonAutoConfiguration.Jackson2ObjectMapperBuilderCustomizerConfiguration matched:
      - @ConditionalOnClass found required class 'org.springframework.http.converter.json.Jackson2ObjectMapperBuilder' (OnClassCondition)

   JacksonAutoConfiguration.JacksonObjectMapperBuilderConfiguration matched:
      - @ConditionalOnClass found required class 'org.springframework.http.converter.json.Jackson2ObjectMapperBuilder' (OnClassCondition)

   JacksonAutoConfiguration.JacksonObjectMapperBuilderConfiguration#jacksonObjectMapperBuilder matched:
      - @ConditionalOnMissingBean (types: org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; SearchStrategy: all) did not find any beans (OnBeanCondition)

   JacksonAutoConfiguration.JacksonObjectMapperConfiguration matched:
      - @ConditionalOnClass found required class 'org.springframework.http.converter.json.Jackson2ObjectMapperBuilder' (OnClassCondition)

   JacksonAutoConfiguration.JacksonObjectMapperConfiguration#jacksonObjectMapper matched:
      - @ConditionalOnMissingBean (types: com.fasterxml.jackson.databind.ObjectMapper; SearchStrategy: all) did not find any beans (OnBeanCondition)

   JacksonAutoConfiguration.ParameterNamesModuleConfiguration matched:
      - @ConditionalOnClass found required class 'com.fasterxml.jackson.module.paramnames.ParameterNamesModule' (OnClassCondition)

   JacksonAutoConfiguration.ParameterNamesModuleConfiguration#parameterNamesModule matched:
      - @ConditionalOnMissingBean (types: com.fasterxml.jackson.module.paramnames.ParameterNamesModule; SearchStrategy: all) did not find any beans (OnBeanCondition)

   JacksonHttpMessageConvertersConfiguration.MappingJackson2HttpMessageConverterConfiguration matched:
      - @ConditionalOnClass found required class 'com.fasterxml.jackson.databind.ObjectMapper' (OnClassCondition)
      - @ConditionalOnProperty (spring.mvc.converters.preferred-json-mapper=jackson) matched (OnPropertyCondition)
      - @ConditionalOnBean (types: com.fasterxml.jackson.databind.ObjectMapper; SearchStrategy: all) found bean 'jacksonObjectMapper' (OnBeanCondition)

   JacksonHttpMessageConvertersConfiguration.MappingJackson2HttpMessageConverterConfiguration#mappingJackson2HttpMessageConverter matched:
      - @ConditionalOnMissingBean (types: org.springframework.http.converter.json.MappingJackson2HttpMessageConverter ignored: org.springframework.hateoas.server.mvc.TypeConstrainedMappingJackson2HttpMessageConverter,org.springframework.data.rest.webmvc.alps.AlpsJsonHttpMessageConverter; SearchStrategy: all) did not find any beans (OnBeanCondition)

   LifecycleAutoConfiguration#defaultLifecycleProcessor matched:
      - @ConditionalOnMissingBean (names: lifecycleProcessor; SearchStrategy: current) did not find any beans (OnBeanCondition)

   MultipartAutoConfiguration matched:
      - @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.springframework.web.multipart.support.StandardServletMultipartResolver', 'javax.servlet.MultipartConfigElement' (OnClassCondition)
      - found 'session' scope (OnWebApplicationCondition)
      - @ConditionalOnProperty (spring.servlet.multipart.enabled) matched (OnPropertyCondition)

   MultipartAutoConfiguration#multipartConfigElement matched:
      - @ConditionalOnMissingBean (types: javax.servlet.MultipartConfigElement,org.springframework.web.multipart.commons.CommonsMultipartResolver; SearchStrategy: all) did not find any beans (OnBeanCondition)

   MultipartAutoConfiguration#multipartResolver matched:
      - @ConditionalOnMissingBean (types: org.springframework.web.multipart.MultipartResolver; SearchStrategy: all) did not find any beans (OnBeanCondition)

   NoOpCacheConfiguration matched:
      - Cache org.springframework.boot.autoconfigure.cache.NoOpCacheConfiguration automatic cache type (CacheCondition)

   PropertyPlaceholderAutoConfiguration#propertySourcesPlaceholderConfigurer matched:
      - @ConditionalOnMissingBean (types: org.springframework.context.support.PropertySourcesPlaceholderConfigurer; SearchStrategy: current) did not find any beans (OnBeanCondition)

   RestTemplateAutoConfiguration matched:
      - @ConditionalOnClass found required class 'org.springframework.web.client.RestTemplate' (OnClassCondition)
      - NoneNestedConditions 0 matched 1 did not; NestedCondition on RestTemplateAutoConfiguration.NotReactiveWebApplicationCondition.ReactiveWebApplication did not find reactive web application classes (RestTemplateAutoConfiguration.NotReactiveWebApplicationCondition)

   RestTemplateAutoConfiguration#restTemplateBuilder matched:
      - @ConditionalOnMissingBean (types: org.springframework.boot.web.client.RestTemplateBuilder; SearchStrategy: all) did not find any beans (OnBeanCondition)

   ServletWebServerFactoryAutoConfiguration matched:
      - @ConditionalOnClass found required class 'javax.servlet.ServletRequest' (OnClassCondition)
      - found 'session' scope (OnWebApplicationCondition)

   ServletWebServerFactoryAutoConfiguration#tomcatServletWebServerFactoryCustomizer matched:
      - @ConditionalOnClass found required class 'org.apache.catalina.startup.Tomcat' (OnClassCondition)

   ServletWebServerFactoryConfiguration.EmbeddedTomcat matched:
      - @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.apache.catalina.startup.Tomcat', 'org.apache.coyote.UpgradeProtocol' (OnClassCondition)
      - @ConditionalOnMissingBean (types: org.springframework.boot.web.servlet.server.ServletWebServerFactory; SearchStrategy: current) did not find any beans (OnBeanCondition)

   SimpleCacheConfiguration matched:
      - Cache org.springframework.boot.autoconfigure.cache.SimpleCacheConfiguration automatic cache type (CacheCondition)

   TaskExecutionAutoConfiguration matched:
      - @ConditionalOnClass found required class 'org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor' (OnClassCondition)

   TaskExecutionAutoConfiguration#applicationTaskExecutor matched:
      - @ConditionalOnMissingBean (types: java.util.concurrent.Executor; SearchStrategy: all) did not find any beans (OnBeanCondition)

   TaskExecutionAutoConfiguration#taskExecutorBuilder matched:
      - @ConditionalOnMissingBean (types: org.springframework.boot.task.TaskExecutorBuilder; SearchStrategy: all) did not find any beans (OnBeanCondition)

   TaskSchedulingAutoConfiguration matched:
      - @ConditionalOnClass found required class 'org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler' (OnClassCondition)

   TaskSchedulingAutoConfiguration#taskSchedulerBuilder matched:
      - @ConditionalOnMissingBean (types: org.springframework.boot.task.TaskSchedulerBuilder; SearchStrategy: all) did not find any beans (OnBeanCondition)

   WebMvcAutoConfiguration matched:
      - @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.springframework.web.servlet.DispatcherServlet', 'org.springframework.web.servlet.config.annotation.WebMvcConfigurer' (OnClassCondition)
      - found 'session' scope (OnWebApplicationCondition)
      - @ConditionalOnMissingBean (types: org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; SearchStrategy: all) did not find any beans (OnBeanCondition)

   WebMvcAutoConfiguration#formContentFilter matched:
      - @ConditionalOnProperty (spring.mvc.formcontent.filter.enabled) matched (OnPropertyCondition)
      - @ConditionalOnMissingBean (types: org.springframework.web.filter.FormContentFilter; SearchStrategy: all) did not find any beans (OnBeanCondition)

   WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#defaultViewResolver matched:
      - @ConditionalOnMissingBean (types: org.springframework.web.servlet.view.InternalResourceViewResolver; SearchStrategy: all) did not find any beans (OnBeanCondition)

   WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#requestContextFilter matched:
      - @ConditionalOnMissingBean (types: org.springframework.web.context.request.RequestContextListener,org.springframework.web.filter.RequestContextFilter; SearchStrategy: all) did not find any beans (OnBeanCondition)

   WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#viewResolver matched:
      - @ConditionalOnBean (types: org.springframework.web.servlet.ViewResolver; SearchStrategy: all) found beans 'defaultViewResolver', 'beanNameViewResolver', 'mvcViewResolver'; @ConditionalOnMissingBean (names: viewResolver types: org.springframework.web.servlet.view.ContentNegotiatingViewResolver; SearchStrategy: all) did not find any beans (OnBeanCondition)

   WebSocketServletAutoConfiguration matched:
      - @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'javax.websocket.server.ServerContainer' (OnClassCondition)
      - found 'session' scope (OnWebApplicationCondition)

   WebSocketServletAutoConfiguration.TomcatWebSocketConfiguration matched:
      - @ConditionalOnClass found required classes 'org.apache.catalina.startup.Tomcat', 'org.apache.tomcat.websocket.server.WsSci' (OnClassCondition)

   WebSocketServletAutoConfiguration.TomcatWebSocketConfiguration#websocketServletWebServerCustomizer matched:
      - @ConditionalOnMissingBean (names: websocketServletWebServerCustomizer; SearchStrategy: all) did not find any beans (OnBeanCondition)


Negative matches:
-----------------

   ActiveMQAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'javax.jms.ConnectionFactory' (OnClassCondition)

   AopAutoConfiguration.AspectJAutoProxyingConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.aspectj.weaver.Advice' (OnClassCondition)

   ArtemisAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'javax.jms.ConnectionFactory' (OnClassCondition)

   BatchAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.batch.core.launch.JobLauncher' (OnClassCondition)

   CacheAutoConfiguration:
      Did not match:
         - @ConditionalOnBean (types: org.springframework.cache.interceptor.CacheAspectSupport; SearchStrategy: all) did not find any beans of type org.springframework.cache.interceptor.CacheAspectSupport (OnBeanCondition)
      Matched:
         - @ConditionalOnClass found required class 'org.springframework.cache.CacheManager' (OnClassCondition)

   CacheAutoConfiguration.CacheManagerEntityManagerFactoryDependsOnPostProcessor:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean' (OnClassCondition)
         - Ancestor org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration did not match (ConditionEvaluationReport.AncestorsMatchedCondition)

   CaffeineCacheConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.github.benmanes.caffeine.cache.Caffeine' (OnClassCondition)

   CassandraAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.datastax.oss.driver.api.core.CqlSession' (OnClassCondition)

   CassandraDataAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.datastax.oss.driver.api.core.CqlSession' (OnClassCondition)

   CassandraReactiveDataAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.datastax.oss.driver.api.core.CqlSession' (OnClassCondition)

   CassandraReactiveRepositoriesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.data.cassandra.ReactiveSession' (OnClassCondition)

   CassandraRepositoriesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.datastax.oss.driver.api.core.CqlSession' (OnClassCondition)

   ClientHttpConnectorAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.web.reactive.function.client.WebClient' (OnClassCondition)

   CodecsAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.web.reactive.function.client.WebClient' (OnClassCondition)

   CouchbaseAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.couchbase.client.java.Cluster' (OnClassCondition)

   CouchbaseCacheConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.couchbase.client.java.Cluster' (OnClassCondition)

   CouchbaseDataAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.couchbase.client.java.Bucket' (OnClassCondition)

   CouchbaseReactiveDataAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.couchbase.client.java.Cluster' (OnClassCondition)

   CouchbaseReactiveRepositoriesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.couchbase.client.java.Cluster' (OnClassCondition)

   CouchbaseRepositoriesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.couchbase.client.java.Bucket' (OnClassCondition)

   DataSourceAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType' (OnClassCondition)

   DataSourceTransactionManagerAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.jdbc.core.JdbcTemplate' (OnClassCondition)

   DispatcherServletAutoConfiguration.DispatcherServletConfiguration#multipartResolver:
      Did not match:
         - @ConditionalOnBean (types: org.springframework.web.multipart.MultipartResolver; SearchStrategy: all) did not find any beans of type org.springframework.web.multipart.MultipartResolver (OnBeanCondition)

   EhCacheCacheConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'net.sf.ehcache.Cache' (OnClassCondition)

   ElasticsearchDataAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.data.elasticsearch.core.ElasticsearchTemplate' (OnClassCondition)

   ElasticsearchRepositoriesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.elasticsearch.client.Client' (OnClassCondition)

   ElasticsearchRestClientAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.elasticsearch.client.RestClient' (OnClassCondition)

   EmbeddedLdapAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.unboundid.ldap.listener.InMemoryDirectoryServer' (OnClassCondition)

   EmbeddedMongoAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.mongodb.MongoClientSettings' (OnClassCondition)

   EmbeddedWebServerFactoryCustomizerAutoConfiguration.JettyWebServerFactoryCustomizerConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required classes 'org.eclipse.jetty.server.Server', 'org.eclipse.jetty.util.Loader', 'org.eclipse.jetty.webapp.WebAppContext' (OnClassCondition)

   EmbeddedWebServerFactoryCustomizerAutoConfiguration.NettyWebServerFactoryCustomizerConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'reactor.netty.http.server.HttpServer' (OnClassCondition)

   EmbeddedWebServerFactoryCustomizerAutoConfiguration.UndertowWebServerFactoryCustomizerConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required classes 'io.undertow.Undertow', 'org.xnio.SslClientAuthMode' (OnClassCondition)

   ErrorWebFluxAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.web.reactive.config.WebFluxConfigurer' (OnClassCondition)

   FlywayAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.flywaydb.core.Flyway' (OnClassCondition)

   FreeMarkerAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'freemarker.template.Configuration' (OnClassCondition)

   GroovyTemplateAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'groovy.text.markup.MarkupTemplateEngine' (OnClassCondition)

   GsonAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.google.gson.Gson' (OnClassCondition)

   GsonHttpMessageConvertersConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.google.gson.Gson' (OnClassCondition)

   H2ConsoleAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.h2.server.web.WebServlet' (OnClassCondition)

   HazelcastAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.hazelcast.core.HazelcastInstance' (OnClassCondition)

   HazelcastCacheConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.hazelcast.core.HazelcastInstance' (OnClassCondition)

   HazelcastJpaDependencyAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.hazelcast.core.HazelcastInstance' (OnClassCondition)

   HibernateJpaAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'javax.persistence.EntityManager' (OnClassCondition)

   HttpHandlerAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.web.reactive.DispatcherHandler' (OnClassCondition)

   HypermediaAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.hateoas.EntityModel' (OnClassCondition)

   InfinispanCacheConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.infinispan.spring.embedded.provider.SpringEmbeddedCacheManager' (OnClassCondition)

   InfluxDbAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.influxdb.InfluxDB' (OnClassCondition)

   IntegrationAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.integration.config.EnableIntegration' (OnClassCondition)

   JCacheCacheConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'javax.cache.Caching' (OnClassCondition)

   JacksonHttpMessageConvertersConfiguration.MappingJackson2XmlHttpMessageConverterConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.fasterxml.jackson.dataformat.xml.XmlMapper' (OnClassCondition)

   JdbcRepositoriesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.data.jdbc.repository.config.AbstractJdbcConfiguration' (OnClassCondition)

   JdbcTemplateAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.jdbc.core.JdbcTemplate' (OnClassCondition)

   JerseyAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.glassfish.jersey.server.spring.SpringComponentProvider' (OnClassCondition)

   JmsAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'javax.jms.Message' (OnClassCondition)

   JmxAutoConfiguration:
      Did not match:
         - @ConditionalOnProperty (spring.jmx.enabled=true) did not find property 'enabled' (OnPropertyCondition)
      Matched:
         - @ConditionalOnClass found required class 'org.springframework.jmx.export.MBeanExporter' (OnClassCondition)

   JndiConnectionFactoryAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.jms.core.JmsTemplate' (OnClassCondition)

   JndiDataSourceAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType' (OnClassCondition)

   JooqAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.jooq.DSLContext' (OnClassCondition)

   JpaRepositoriesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.data.jpa.repository.JpaRepository' (OnClassCondition)

   JsonbAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'javax.json.bind.Jsonb' (OnClassCondition)

   JsonbHttpMessageConvertersConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'javax.json.bind.Jsonb' (OnClassCondition)

   JtaAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'javax.transaction.Transaction' (OnClassCondition)

   KafkaAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.kafka.core.KafkaTemplate' (OnClassCondition)

   LdapAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.ldap.core.ContextSource' (OnClassCondition)

   LdapRepositoriesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.data.ldap.repository.LdapRepository' (OnClassCondition)

   LiquibaseAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'liquibase.change.DatabaseChange' (OnClassCondition)

   MailSenderAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'javax.mail.internet.MimeMessage' (OnClassCondition)

   MailSenderValidatorAutoConfiguration:
      Did not match:
         - @ConditionalOnSingleCandidate did not find required type 'org.springframework.mail.javamail.JavaMailSenderImpl' (OnBeanCondition)

   MessageSourceAutoConfiguration:
      Did not match:
         - ResourceBundle did not find bundle with basename messages (MessageSourceAutoConfiguration.ResourceBundleCondition)

   MongoAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.mongodb.client.MongoClient' (OnClassCondition)

   MongoDataAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.mongodb.client.MongoClient' (OnClassCondition)

   MongoReactiveAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.mongodb.reactivestreams.client.MongoClient' (OnClassCondition)

   MongoReactiveDataAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.mongodb.reactivestreams.client.MongoClient' (OnClassCondition)

   MongoReactiveRepositoriesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.mongodb.reactivestreams.client.MongoClient' (OnClassCondition)

   MongoRepositoriesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.mongodb.client.MongoClient' (OnClassCondition)

   MustacheAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.samskivert.mustache.Mustache' (OnClassCondition)

   Neo4jDataAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.neo4j.ogm.session.SessionFactory' (OnClassCondition)

   Neo4jRepositoriesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.neo4j.ogm.session.Neo4jSession' (OnClassCondition)

   OAuth2ClientAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.security.config.annotation.web.configuration.EnableWebSecurity' (OnClassCondition)

   OAuth2ResourceServerAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.security.oauth2.server.resource.BearerTokenAuthenticationToken' (OnClassCondition)

   PersistenceExceptionTranslationAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor' (OnClassCondition)

   ProjectInfoAutoConfiguration#buildProperties:
      Did not match:
         - @ConditionalOnResource did not find resource '${spring.info.build.location:classpath:META-INF/build-info.properties}' (OnResourceCondition)

   ProjectInfoAutoConfiguration#gitProperties:
      Did not match:
         - GitResource did not find git info at classpath:git.properties (ProjectInfoAutoConfiguration.GitResourceAvailableCondition)

   QuartzAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.quartz.Scheduler' (OnClassCondition)

   R2dbcAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'io.r2dbc.spi.ConnectionFactory' (OnClassCondition)

   R2dbcDataAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.data.r2dbc.core.DatabaseClient' (OnClassCondition)

   R2dbcRepositoriesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'io.r2dbc.spi.ConnectionFactory' (OnClassCondition)

   R2dbcTransactionManagerAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.data.r2dbc.connectionfactory.R2dbcTransactionManager' (OnClassCondition)

   RSocketMessagingAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'io.rsocket.RSocketFactory' (OnClassCondition)

   RSocketRequesterAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'io.rsocket.RSocketFactory' (OnClassCondition)

   RSocketSecurityAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.security.rsocket.core.SecuritySocketAcceptorInterceptor' (OnClassCondition)

   RSocketServerAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'io.rsocket.core.RSocketServer' (OnClassCondition)

   RSocketStrategiesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'io.netty.buffer.PooledByteBufAllocator' (OnClassCondition)

   RabbitAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.rabbitmq.client.Channel' (OnClassCondition)

   ReactiveElasticsearchRepositoriesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient' (OnClassCondition)

   ReactiveElasticsearchRestClientAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'reactor.netty.http.client.HttpClient' (OnClassCondition)

   ReactiveOAuth2ClientAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition)

   ReactiveOAuth2ResourceServerAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity' (OnClassCondition)

   ReactiveSecurityAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition)

   ReactiveUserDetailsServiceAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.security.authentication.ReactiveAuthenticationManager' (OnClassCondition)

   ReactiveWebServerFactoryAutoConfiguration:
      Did not match:
         - @ConditionalOnWebApplication did not find reactive web application classes (OnWebApplicationCondition)

   RedisAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.data.redis.core.RedisOperations' (OnClassCondition)

   RedisCacheConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.data.redis.connection.RedisConnectionFactory' (OnClassCondition)

   RedisReactiveAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition)

   RedisRepositoriesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.data.redis.repository.configuration.EnableRedisRepositories' (OnClassCondition)

   RepositoryRestMvcAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration' (OnClassCondition)

   Saml2RelyingPartyAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistrationRepository' (OnClassCondition)

   SecurityAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.security.authentication.DefaultAuthenticationEventPublisher' (OnClassCondition)

   SecurityFilterAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.security.config.http.SessionCreationPolicy' (OnClassCondition)

   SendGridAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.sendgrid.SendGrid' (OnClassCondition)

   ServletWebServerFactoryAutoConfiguration#forwardedHeaderFilter:
      Did not match:
         - @ConditionalOnProperty (server.forward-headers-strategy=framework) did not find property 'server.forward-headers-strategy' (OnPropertyCondition)

   ServletWebServerFactoryConfiguration.EmbeddedJetty:
      Did not match:
         - @ConditionalOnClass did not find required classes 'org.eclipse.jetty.server.Server', 'org.eclipse.jetty.util.Loader', 'org.eclipse.jetty.webapp.WebAppContext' (OnClassCondition)

   ServletWebServerFactoryConfiguration.EmbeddedUndertow:
      Did not match:
         - @ConditionalOnClass did not find required classes 'io.undertow.Undertow', 'org.xnio.SslClientAuthMode' (OnClassCondition)

   SessionAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.session.Session' (OnClassCondition)

   SolrAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.apache.solr.client.solrj.impl.CloudSolrClient' (OnClassCondition)

   SolrRepositoriesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.apache.solr.client.solrj.SolrClient' (OnClassCondition)

   SpringApplicationAdminJmxAutoConfiguration:
      Did not match:
         - @ConditionalOnProperty (spring.application.admin.enabled=true) did not find property 'enabled' (OnPropertyCondition)

   SpringDataWebAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.data.web.PageableHandlerMethodArgumentResolver' (OnClassCondition)

   TaskSchedulingAutoConfiguration#taskScheduler:
      Did not match:
         - @ConditionalOnBean (names: org.springframework.context.annotation.internalScheduledAnnotationProcessor; SearchStrategy: all) did not find any beans named org.springframework.context.annotation.internalScheduledAnnotationProcessor (OnBeanCondition)

   ThymeleafAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.thymeleaf.spring5.SpringTemplateEngine' (OnClassCondition)

   TransactionAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.transaction.PlatformTransactionManager' (OnClassCondition)

   UserDetailsServiceAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.security.authentication.AuthenticationManager' (OnClassCondition)

   ValidationAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'javax.validation.executable.ExecutableValidator' (OnClassCondition)

   WebClientAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.web.reactive.function.client.WebClient' (OnClassCondition)

   WebFluxAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.web.reactive.config.WebFluxConfigurer' (OnClassCondition)

   WebMvcAutoConfiguration#hiddenHttpMethodFilter:
      Did not match:
         - @ConditionalOnProperty (spring.mvc.hiddenmethod.filter.enabled) did not find property 'enabled' (OnPropertyCondition)

   WebMvcAutoConfiguration.ResourceChainCustomizerConfiguration:
      Did not match:
         - @ConditionalOnEnabledResourceChain did not find class org.webjars.WebJarAssetLocator (OnEnabledResourceChainCondition)

   WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#beanNameViewResolver:
      Did not match:
         - @ConditionalOnMissingBean (types: org.springframework.web.servlet.view.BeanNameViewResolver; SearchStrategy: all) found beans of type 'org.springframework.web.servlet.view.BeanNameViewResolver' beanNameViewResolver (OnBeanCondition)

   WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#localeResolver:
      Did not match:
         - @ConditionalOnProperty (spring.mvc.locale) did not find property 'locale' (OnPropertyCondition)

   WebServiceTemplateAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.oxm.Marshaller' (OnClassCondition)

   WebServicesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.ws.transport.http.MessageDispatcherServlet' (OnClassCondition)

   WebSocketMessagingAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer' (OnClassCondition)

   WebSocketReactiveAutoConfiguration:
      Did not match:
         - @ConditionalOnWebApplication did not find reactive web application classes (OnWebApplicationCondition)

   WebSocketServletAutoConfiguration.JettyWebSocketConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer' (OnClassCondition)

   WebSocketServletAutoConfiguration.UndertowWebSocketConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'io.undertow.websockets.jsr.Bootstrap' (OnClassCondition)

   XADataSourceAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'javax.transaction.TransactionManager' (OnClassCondition)


Exclusions:
-----------

    None


Unconditional classes:
----------------------

    org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration

    org.springframework.boot.autoconfigure.context.LifecycleAutoConfiguration

    org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration

    org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration

    org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration

9.4 总结:简述Spring Boot运行流程

首先通过pom.xml文件进行jar包文件的标识,parent标签定义了当前spring boot所包含以及所依赖的其它版本的依赖信息进行定义。之后用户依赖了那个jar包,后会根据Maven jar包自动依赖的规则,进行动态的导入。然后通过主启动类进行加载。

导入规则:导包之后,Maven找到jar包文件在读取当前jar包的pom文件再次进行jar包的依赖。

10 拓展

10.1 IDEA如何删除项目

IDEA想要删除项目需要先移除,移除之后没有蓝色图标变为普通的文件,不是java项目了。

SQL SERVER 装在C盘了 sql安装在c盘不能改_数据库_51


之后再右键delete

SQL SERVER 装在C盘了 sql安装在c盘不能改_maven_52

10.2 IDEA导入项目

直接把项目粘贴到工作空间,但是这样导入的不是Maven项目

如何变为Maven项目? pom文件是Maven项目的标识。

步骤:点击pom文件右键-----Add as Maven Project–在右侧就会标识(profiles)这是一个Maven项目

SQL SERVER 装在C盘了 sql安装在c盘不能改_数据库_53

SQL SERVER 装在C盘了 sql安装在c盘不能改_idea_54


只要Maven导入成功之后就不会出现Add as Maven Project这个提示。

SQL SERVER 装在C盘了 sql安装在c盘不能改_idea_55

10.3 项目发布问题

10.3.1 项目打包

说明:如果需要项目的发布则需要将项目打包处理.打完包之后,会在target目录中动态生成jar/war包. 以及本地仓库中也会有包?
扩展: 本地仓库的包有啥作用? 作用:就是被其他项目依赖.因为项目将来会有多个并且极其复杂.
clean: 的作用是删除target目录. (早期是删除是 本地的target文件和本地仓库的一块删除,现在是只删除target目录,所以现在打包是先install,防止用的是本地仓库中以前的包) target:是存放编译后的文件.

根据你xml文件配置(项目中的坐标)的路径找到本地仓库中的jar包,如下

如果没有指定在c盘 指定了就在指定位置找 详情看第二阶段笔记.

SQL SERVER 装在C盘了 sql安装在c盘不能改_SQL SERVER 装在C盘了_56

SQL SERVER 装在C盘了 sql安装在c盘不能改_SQL SERVER 装在C盘了_57


site:是生成jar包依赖报告 install:打包 (上图标错了)

SQL SERVER 装在C盘了 sql安装在c盘不能改_spring boot_58

10.3.2 项目发布

说明:将项目打包之后,发布到指定的文件中,之后利用命令启动.

打包后在target目录下生成项目的jar包,直接复制黏贴一个文件中(不要中文和空格)

SQL SERVER 装在C盘了 sql安装在c盘不能改_maven_59


直接在这个窗口cmd进入文件目录位置.

SQL SERVER 装在C盘了 sql安装在c盘不能改_maven_60


控制台输出:java -jar 打包的文件名

SQL SERVER 装在C盘了 sql安装在c盘不能改_maven_61

取消组合键: ctrl + c (点击时鼠标双击控制台,锁定了别人用不了,访问时会一直转圈,在Dos窗口ctrl+c)

项目访问:

SQL SERVER 装在C盘了 sql安装在c盘不能改_idea_62