• springboot的四大组件
    auto-configuration自动配置,不需要框架的配置文件,直接整合在一起 快速搭建环境
    starter 启动器 启动器就是对依赖架包的一个管理器,方便管理
    springbootcli 命令工工具 方便运行项目
    actuator 监控功能模块
    boot项目尽量使用注解开发,减少配置文件
    注解有 实例化bean对象
    @Repository 数据访问层 可以用@Mapper来代替
    @Service 业务层
    @Controller 控制层
    @Component 组件 被ioc容器管理
    注入属性依赖
    @Autowired 通过类型来注入
    @Resource 通过名字来注入
    在配置文件中的注解
    @Configuration 作用在类上 声明这个类是配置类,代替了xml文件
    @Bean 作用在方法上代表这个方法返回的是一个对象 交给ioc容器来实例化
    @ComponentScan 扫描包下的注解中的bean对象自动扫描包
    @Component实例化一个类
    @ImportResource 用在类上导入properties文件
    @value 获取properties文件中的是value值通过key

@SpringBootApplication 标识这个是boot项目,启动类上使用

@SpringBootConfiguration配置类

读取外部配置文件

通过@PropertySource注解声明在类上,指定读取相关配置文件

配合@value注解可以获取对应的参数属性,通过"${key}"来取值

springboot 关键组件架构设计 springboot的常用组件_tomcat


创建一个boot项目就会有一个boot启动器

springboot 关键组件架构设计 springboot的常用组件_tomcat_02


springboot项目必须要将parent设置成springboot的parent 简化了程序的开发

引入maven插件

springboot 关键组件架构设计 springboot的常用组件_配置文件_03


@controller默认返回的是视图 添加了@ResponseBody就返回是字符串

利用启动类来启动程序,不需要利用容器来启动,使用@SpringBootApplication来表示启动类,SpringApplication.run方法来运行启动类,

启动成功后

springboot 关键组件架构设计 springboot的常用组件_spring_04


springboot 关键组件架构设计 springboot的常用组件_配置文件_05


springboot项目启动图标可以自定义哦,虽然很无聊但是可以看一看

springboot项目启动默认加载src/main/resources目录下的banner.txt图标文件,这个可以自定一个这样的文件里面放你想要的东西,在下次启动后就显示了

springboot 关键组件架构设计 springboot的常用组件_tomcat_06


springboot 关键组件架构设计 springboot的常用组件_tomcat_07


认识一下boot中的配置文件格式

全局配置文件名字是application 格式可以properties 或是yml 就放在resource资源目录下就可以了,不要在乎哪些配置文件的加载顺序

通过这个全局配置文件来修改自动配置的默认值

properties格式配置文件主要是键值对 key= value yml是缩进格式用:来代替层级 建议使用yml (不要问为什么,问就是yml格式好看)

yml支持多种语言,可以移植,格式是k:v 冒号后面必须有一个空格 缩进是代表层级 缩进不要使用tab 使用空格来

表示是java是驼峰命名法,yml中可以使用驼峰,或是last_name这样的

springboot 关键组件架构设计 springboot的常用组件_spring_08


Starter坐标 启动器的坐标,

spring boot引入了一种启动器坐标,不是maven那种的,启动器就当于是jar的一种集合吧,

举例说web starter

这个启动器就相当于是spring mvc 还包含了tomcat内嵌了服务器

启动器不需要定义版本,统一都是有parent 中的boot工程来控制 注意boot还是支持maven仓库坐标的,

springboot项目自动化配置 @SpringBootApplication

组合了@SpringBootConfiguration @EnableAutoConfiguration 自动配置 将所有的对象可以实例化,

  • profile配置
    这个设置是用来针对不同的环境来配置的,大家都知道application.yml是全局配置文件,但是开发,测试,生产不同的环境需要的配置是不一样的,不能只使用一个环境吧,那就需要在不同的环境使用不同的配置文件,在全局配置文件中设置spring.profiles.active=test或是dev或是prod来动态切换不同的环境,dev是本地,prod是生产
  • 日志配置
    在开发项目时日志查看是很重要的,很定位到bug错误的原因和位置,springboot默认使用logback日志,这个不用单独添加依赖,在boot中已经集成了,
  • Freemarker视图集成
    springboot集成Freemarker视图技术,先导入对应依赖坐标,然后对进行配置信息
    Freemarker默认视图路径是resource/templates目录,这个是boot中自定义的,但是我们可以自己修改这个视图默认路径,
    在application.yml中修改

    thymeleaf视图也被boot集成了,boot官方推荐使用这种的,首先要导入依赖坐标,

thymeleaf默认视图路径是resource/templates目录,可以在配置文件中修改路径,

springboot 关键组件架构设计 springboot的常用组件_tomcat_09


注意在这个页面上加上这个命名空间

springboot 关键组件架构设计 springboot的常用组件_springboot 关键组件架构设计_10

  • springboot静态资源访问
    在resource的目录下存放静态资源,默认的静态资源存放目录是static或是pulic目录 可存放images,css ,js等静态资源文件,
    也可以自定义静态资源路径 在配置文件中
  • springboot 关键组件架构设计 springboot的常用组件_配置文件_11

  • springboot项目打包与部署
    由于springboot内嵌了tomcat,所以打包的jar包默认是可自行运行
    打包成jar包的流程
    点击项目编辑项目
  • springboot 关键组件架构设计 springboot的常用组件_springboot 关键组件架构设计_12

  • 进入之后找到maven工具
  • springboot 关键组件架构设计 springboot的常用组件_springboot 关键组件架构设计_13

  • 进行打包前的设置
  • springboot 关键组件架构设计 springboot的常用组件_spring_14

  • 设置完成启动项目开始打包
  • springboot 关键组件架构设计 springboot的常用组件_springboot 关键组件架构设计_15

  • 可以测试一下项目啊
    就是不用idea来启动用系统来启动,先操作cmd 打开黑窗口
    输出命令 java -jar 存放地址
  • springboot 关键组件架构设计 springboot的常用组件_tomcat_16


  • springboot 关键组件架构设计 springboot的常用组件_spring_17

  • 关闭黑窗口是就把进程断掉了,
    打包成war包
    springboot项目默认是jar包类型,先修改吧
  • springboot 关键组件架构设计 springboot的常用组件_配置文件_18

  • 因为boot是内嵌了tomcat, 打包时要忽略到这个tomcat
  • springboot 关键组件架构设计 springboot的常用组件_spring_19

因为是要打包成war包的所以会依赖于外部容器来启动,也就是说把war包放到tocmat中的WEB-INF目录下,

这tomcat会有一个web.xml文件来启动扫描war包项目,怎么才能启动呢?

需要重写以启动类

springboot 关键组件架构设计 springboot的常用组件_springboot 关键组件架构设计_20


下面这个就是第二种打包方式

springboot 关键组件架构设计 springboot的常用组件_springboot 关键组件架构设计_21


打包好的war包需要放到服务器中webapps目录下点击startup.bat来运行容器,访问tomcat就可以了