zoukankan      html  css  js  c++  java
  • springboot笔记

    1.每个springboot项目都会有一个名为*Application的入口类,入口类中有一个main方法,这个方法是一个标准的java应用的入口方法。在main方法中使用SpringApplication.run(*Application.class,args)来启动springboot项目

    2.@SpringBootApplication是Spring Boot的核心注解,启动项目时,Spring Boot会自动扫描@SpringBootApplication所在类的同级包及下级包中的Bean

    3.在SpringBootApplication启动类中,可以关闭特定的自动配置

      @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

    4.@PropertySource注解不支持加载.yml文件

    在spring中可以使用@PropertySource("classpath:property文件地址")注解指明配置文件,然后使用@Value注解注入值

    而在SpringBoot中可以直接使用@Value注解注入,

      1.当使用@Value注解的时候,不能new对象,而要使用依赖注入。这样才能获取到值。

           2.使用@Value注解时不能注解在静态(static)变量或final变量上

      直接使用@Value注解加载不了配置文件时:https://blog.csdn.net/qq_42274641/article/details/83107807

    SpringBoot还提供了基于类型安全的配置方式,通过@ConfigurationProperties将properties属性和一个Bean及其属性关联起来,如:

    /**
       *配置文件 application.properties
       * author.name=zhanghl
       * author.age=27
      **/
    @Component
    @ConfigurationProperties(prefix = "author")
    // @
    ConfigurationProperties(prefix = "author",locations = {"classpath:config/author.properties"}) 可以使用locations来指定配置文件的路径,application.properties 是默认的配置文件,所以不需要使用locations
    @Data
    public class Author {

    private String name;

    private Long age;
    }

    5.可以使用@ImportResource({"classpath:xxx.xml","classpath:aaa.xml"})来加载xml配置

    6.加载yml格式的配置文件:https://blog.csdn.net/u010922732/article/details/91048606

    public class PropertiesUtil {
    
        public static String active;
    
        static {
            try {
                ClassPathResource resource = new ClassPathResource("application.yml");
    //          直接读取properties文件
    //          Properties properties = PropertiesLoaderUtils.loadProperties(resource);
                YamlPropertiesFactoryBean yaml = new YamlPropertiesFactoryBean();
                yaml.setResources(resource);
                Properties properties = yaml.getObject();
                active = properties.getProperty("spring.profiles.active", "prod");
            }catch (Exception e) {
                e.printStackTrace();
            }
        }
    }        
  • 相关阅读:
    pytest实际编码中特殊问题的解决
    python+locust性能测试实例
    python使用eval动态调用函数及其在测试用例中断言的应用
    python中列表生成式的两种用法
    pycharm中的Terminal无法使用git命令
    ruamel.yaml的使用
    pip安装模块失败如何解决
    locust的setup等相关函数的使用
    python模块-optparse(解析命令行参数)
    (转)locust源码目录结构及模块作用
  • 原文地址:https://www.cnblogs.com/zhlblogs/p/13268652.html
Copyright © 2011-2022 走看看