SpringBoot学习笔记

Spring Boot优点:

1.快速创建独立运行的Spring项目以及与主流框架集成

2.使用嵌入式的Servlet容器,应用无需打成WAR包

3.starters自动依赖与版本控制

4.大量的自动配置,简化开发,也可修改默认值

5.无需配置XML,无代码生成,开箱即用

6.准生产环境的运行时应用监控

7.与云计算的天然集成

SpringBoot依赖导入:

<parent>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-parent</artifactId>
       <version>2.1.5.RELEASE</version>
   </parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>2.1.5.RELEASE</version>
    </dependency>
</dependencies>

使用Spring Initializer快速创建Spring Boot项目

IDE都支持使用Spring的项目1创建向导快速创建一个Spring Boot项目

选择我们需要的模块:向导会联网创建Spring Boot项目

默认生成的Spring Boot项目:

主程序已经生成,我们只需我们自己的逻辑

resources文件夹中的目录结构:

 static:保存所有的静态资源,js, css images

templates:保存所有的模块页面:(Spring Boot默认Jar包1使用嵌入式tomcat,默认不支持JSP页面);可以使用模板引擎(freemarker、thymeleaf);

application.properties:Spring Boot应用的配置文件;可以修改一些默认设置

配置文件

SpringBoot使用全局的配置文件,配置文件名是固定的

application.properties

application.yml

配置文件的作用:修改SpirngBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;

YAML

以数据为中心,比Json、xml更适合做配置文件

基本语法

k:(空格)V:表示一对键值对(空格必须有);

以空格的缩进进行控制层级关系,只要是左对齐的一列数据,都是同一个层级的

属性和值是大小写敏感

值的写法

字面量:普通的值(数字、字符串、布尔)

k:v:字面直接来写

字符串默认不用加上单引号或者双引号;

“”:双引号,不会转义字符串里边的特殊字符,会作为本身想要表示的意思

      name:"zhangsan  \n lisi":输出:zhangsan 换行 lisi

‘ ’:会转义特殊字符;特殊字符最终只是一个普通的字符串数据

        name:"zhangsan  \n lisi":输出:zhangsan  \n lisi

对象、Map(属性和值)(键值对):

对象:(k:v的方式)

friends:
    lastName: zhangsan
    age: 20

行内写法:

friends: {lastName:zhangsan,age:18}

数组(List、Set)

用- 值表示数组中的一个元素

pets:
 - cat
 - dog
 - pig

行内写法

pets: [dog,cat,pig]

配置文件值得注入

配置文件:

person:
  lastName: zhangsan
  age: 18
  boss: false
  birth: 2017/12/12
  maps: {k1: v1,k2: 12}
  lists:
    - lisi
    - zhaoliu
  dog:
    name: 小宝
    age: 2

javaBean:

/**
 *将配置文件中配置的每个属性的值,映射到组件中
 * @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关配置进行绑定
 * prefix = "person":配置文件中哪个下边的所有属性进行一一映射
 * 只有这个组件是容器中的组件,才能使用容器提供的@ConfigurationProperties功能
 */
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
    private String lastName;
    private Integer age;
    private Boolean boss;
    private Date birth;
    private Map<String,Object> maps;
    private List<Object> lists;
    private Dog dog;

@PropertySource&@ImportResource

@PropertySource:加载指定的配置文件;

@PropertySource(value = "{person.properties}")

@ImportResource:导入Spring的配置文件,让配置文件里的内容生效;

Spring Boot里边没有Spring的配置文件,自己编写的配置文件,不能自动识别;

让Spring配置文件生效,加载进来:@ImportResource标注在一个配置类上

@@ImportResource("{classpath:beans.xml}")
导入Spring配置文件让其生效

Spring Boot推荐给容器中添加组件的方式:全注解方式

Profile

1.多1Profile文件

在主配置文件编写的时候,文件名可以是application-{profile}.properties/yml

默认使用application.properties的配置

2.yml支持多文档块方式

server:
  port:8081
spring:
  profiles:
    active:prod
-----
server:
  port:8083
spring:
  profiles:dev
----
server:
  port:8084
spring:
  profiles:prod  #指定属于哪个环境

3.激活指定profile

1.在配置文件中指定spring.profiles.active=dev

2.命令行:

–spring.profiles.active=dev

3.虚拟机参数

-Dspring.profiles.active=dev

配置文件加载位置

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

-file:./config

-file:./

-classpath:/config/

-classpath:/

优先级从高到低。高优先级的配置会覆盖低优先级的配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值