• @Component + @ConfigurationProperties 注解


    配置绑定

    如何使用Java读取到properties文件中的内容,并且把它封装到JavaBean中,以供随时使用;

    理解:这个过程就好比配置数据库时写了properties文件,然后我们通过java的流读取文件,然后连接数据库

    @Component + @ConfigurationProperties

    系统要求

    Java 8+

    Maven 3.6.6 +

    创建Maven项目工程

    引入 pom.xml 依赖
        <!--1.导入父工程-->
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.5.0</version>
        </parent>
    
        <!--2.导入springBoot的Web场景-->
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            </dependency>
        </dependencies>
     <build>
            <!--
            SpringBoot项目默认打成jar包
                传统web项目我们需要打成war包,放入tomcat中运行,springBoot项目我们可以导入一个插件,
                在项目打成jar包的同时,还会顺带打包运行环境,所以只要直接运行jar包也可以访问项目
            -->
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    创建实体类 pojo.Cat类
    package com.xiang.pojo;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    /**
     * Created by IntelliJ IDEA.
     * User: xiang
     * Date: 2021/10/12 14:05
     */
    /**
     * 只有在容器中的组件,才会拥有SpringBoot提供的功能,也就是才可以使用注解
     */
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @Component
    @ConfigurationProperties(prefix = "cat")
    //该注解表示:从application.properties中读取前缀为cat的数据赋值给下列属性,注意文件中的属性名和实体类中的属性名一致
    public class Cat {
        private  String name;
        private  double price;
    }
    
    
    application.properties文件
    #在配置文件中给Cat这个实例赋值
    cat.name="tom"
    cat.price=500.00
    
    
    主程序进行测试 MainApplication 类
    package com.xiang;
    
    import com.xiang.pojo.Cat;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.ConfigurableApplicationContext;
    
    /**
     * Created by IntelliJ IDEA.
     * User: xiang
     * Date: 2021/10/12 14:35
     */
    @SpringBootApplication
    public class MainApplication {
        public static void main(String[] args) {
            ConfigurableApplicationContext context = SpringApplication.run(MainApplication.class, args);
    
            Cat cat = context.getBean("cat", Cat.class);
            System.out.println(cat);
            /**
             * Cat(name="tom", price=500.0)
             */
        }
    }
    
    
    运行结果
    Cat(name="tom", price=500.0)
    

  • 相关阅读:
    [转]rdlc报表中表达式的使用--switch和IIF范例
    [转]关于ASP.NET(C#)程序中TEXTBOX下动态DIV跟随[AJAX应用]
    CodeForces
    NYOJ306 走迷宫(dfs+二分搜索)
    全心全意为人民服务体如今我们软件设计上
    2014年麦克阿瑟基金奖,张益唐入围(62万美金用于个人支配)
    Android中SharedPreferences函数具体解释
    drupal7中CKEditor开启上传图片功能
    JBoss+Ant实现EJB无状态会话bean实例
    c#读取xml文件配置文件Winform及WebForm-Demo具体解释
  • 原文地址:https://www.cnblogs.com/d534/p/15398256.html
Copyright © 2020-2023  润新知