SpringBoot学习笔记

1.Spring Boot简介

  简化Spring应用开发的一个框架

  整个Spring技术栈的整合

  J2EE开发的一站式解决方案

2.微服务

  微服务:架构风格

  一个应用应该是一组小型服务;可以通过HTTP方式进行互通

  每一个功能元素最终都是一个可独立替换和独立升级的软件单元

3.配置文件

  作用:修改SpringBoot自动配置的默认值

  application.properties

  application.yml

  (1)yaml基本语法

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

    以空格的缩进来控制层级关系

    属性和值大小写敏感 

  (2)值得写法

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

      k: v:字面直接来写

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

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

        '':单引号会转义特殊字符,特殊字符最终只是一个普通的字符串数据

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

      k: v:在下一行来写对象的属性和值的关系

        对象还是k: v的方式

        friends:

          lastName:zhangsan

          age:20

        行内写法:

        friends: {lastName: zhangsan,age: 18}

    数组(List、Set)

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

        pets:

         - cat

         - dog

         - pig

      行内写法

        pets: [cat,dog,pig]

  (3)配置文件值注入

配置文件:application.yml

server:
    port: 8081

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

配置文件:application.properties

person.last-name=张三
person.age=18
person.birth=2017/12/15
person.boss=false
person.maps.k1=v1
person.maps.k2=14
person.lists=a,b,c
person.dog.name=dog
person.dog.age=15

javaBean:

/**
 * 将配置文件中每一个属性的值,映射到这个组件中
 * @ConfigurationProperties:告诉SpringBoot将本类中所有属性和配置文件中相关的配置进行绑定
 *      prefix = "person":配置文件中哪个下面的所有属性进行一一映射
 * 只有这个组件是容器中的组件,才能使用容器提供的@ConfigurationProperties功能
* @ConfigurationProperties(prefix = "person")默认从全局配置文件中获取值
*/ @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;

导入配置文件处理器

<!--导入配置文件处理器,配置文件进行绑定会有提示-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

@ConfigurationProperties获取配置文件值

@Component
@ConfigurationProperties(prefix = "person")

@Value获取文件值

public class Person {
    
    @Value("${person.last-name}")
    private String lastName;
    @Value("#{11*2}")
    private Integer age;
    @Value("true")
    private Boolean boss;
    private Date birth;

  (4)@PropertySource&@ImportResource

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

@PropertySource(value = {"classpath:***.properties"})
@Component
@ConfigurationProperties(prefix = "person")
public class Person {

    private String lastName;
    private Integer age;
    private Boolean boss;
    private Date birth;

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

  Spring Boot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别

@ImportResource({"classpath:***.xml"})

  (5)Spring推荐使用@Bean给容器添加组件

/**
 * @Configuration:指明当前类是一个配置类,用来替代Spring配置文件
 */
@Configuration
public class MyAppConfig {

    //将方法的返回值添加到容器中:容器中这个组件默认的id就是方法名
    @Bean
    public HelloService helloService(){
        return  new HelloService();
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值