springboot-01

91 篇文章 1 订阅
12 篇文章 0 订阅

title: springboot-01
date: 2019-07-30 16:08:23
categories:

  • 前端
  • 搭建博客
    tags:
  • 搭建博客
  • 前端
  • next

项目路径问题

  • 不以/开始的相对路径,找资源,以当前资源的路径为基准,经常出现问题
  • 以/开始的相对路径,找资源,以服务器路径为标准(http://localhost:3306)
  • 从我的一些经验来看,我们一般css和js放在static目录下面,html等前端页面放在templates里面,如果需要引入static的页面可以使用相对路径,但是boot项目默认的路径有static和templates按道理是不需要这样子的,不知道为什么

控制反转(ioc)和依赖注入(di)

  • 控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护,而不是传统的在你的对象内部直接控制
  • DI依赖注入是控制反转的一种实现方式----创建对象并且组装对象之间的关系

面向接口编程

  • 结构设计中,分清楚层次调用关系,每层只向上层提供一组功能接口,各层间仅仅依赖接口而非实现类
  • 接口实现的变动不影响各层间的调用,这一点在公共服务中尤为重要
  • 对于程序只定义一个结果标准,过程如何,看个人如何实现

spring注入

  • @PropertySource:加载指定的配置文件,将配置文件中的每一个属性的值,映射到这个组件中

  • @configurationProperties告诉springboot将本类中的所有属性和配置文件相关的配置进行绑定,profix=“xxx”,配置文件中的属性进行一一映射,默认从全局配置文件中获取值
    在这里插入图片描述

  • 使用全注解方式

    1. 配置类使用@configuration---->spring配置文件
    2. 使用@Bean给容器中添加组件
      在这里插入图片描述

打包部署

  • 侧边栏maven ,选中object,选中lifecycle,选中package等待打包,打成jar包后可以用java -jar的命令进行执行
  • parent标签标识的是spring版本仲裁中心,以后我们导入依赖默认是不需要写版本,没有在dependencies中管理的依赖还是要写版本号
  • spring-boot- starter-web:spring boot场景启动器,帮我们导入了web模块的正常运行的依赖的组成,springboot将所有的功能场景都抽取出来,做成一个一个启动器,要用什么功能就导入什么场景的启动器

主程序类

  • import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class Application {
    
       public static void main(String[] args) {
          SpringApplication.run(Application.class, args);
       }
    }
    springboot的主配置类,运行这个类的main方法启动springboot项目
    
  • @SpringBootComfiguration:标注在某一个类上,表示这是一个springboot的配置类

  • configuration配置类上标注这个注解,配置类-配置文件 配置类也是容器中的一个组件,@component

  • @EnableAutoConfiguration 开启自动配置功能

    1. @AutoConfigurationPackage 自动配置包 @Import(AutoConfigurationPackages.Registrar.class):spring的底层注解,导入的组建由AutoConfigurationPackages.Registrar.class将主配置所在包下面所有子包里面的所有组件,将主配置类@SpringBootApplication标注的类的所在包及下面所有子包里面的所有组建扫描到spring容器中

    2. @Import(EnableAutoConfigurationImportSelector.class)选择需要导入那些组件,将所有需要导入的组建以全类名的方式放入容器,会给容器导入非常多的自动配置类,就是给这个场景配置号这些组件
      在这里插入图片描述

  1. springboot在启动的时候从类的路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定这些值作为自动配置类导入容器中,自动配置类就生效,帮我们进行自动配置工作
    在这里插入图片描述
    在这里插入图片描述

配置文件加载位置

  • springboot启动后会扫描以下位置的application.properties或者application.yml文件作为spring boot的默认配置文件

    1. file:./config/
    2. file:./
    3. classpath:./config/
    4. classpath:./

    优先级由高到低,高优先级的会覆盖低优先级的,springboot会从这4个文件全部加载主配置文件进行互补配置

  • 同时我们还可以通过spring.config.location来改变默认的配置文件位置,项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置,指定配置文件和默认加载的文件共同起作用形成互补配置

    java -jar .....jar -spring.config.location=配置文件位置
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值