ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SpringBoot核心配置之值的注入、多环境配置(三)

2020-02-02 12:56:41  阅读:221  来源: 互联网

标签:SpringBoot 配置文件 配置 public 注解 注入 class 之值



一、值的注入,步骤如下

1)先用Spring Initializr来迅速地建一个Spring Boot工程,并建实体类,其中需要注入属性的实体类添加通用注解将该组件注入到Spring容器中,由于需要往这个里面去注入属性,所以要添加一个注解@ConfigurationProperties(prefix="")。
          /**
           * 建一个Person类模型
           * */
          @Component  //将该组件注入到Spring容器中
          @ConfigurationProperties(prefix = "person")//将配置文件中所有以person开头的值注入到当前类中。   
          public class Person {
           //...里面封装6个属性及其get、set、toString方法
          } 

//注意:在pom里要添加processor包

2) 在resource目录下用全局配置文件application.properties给实体类对象person进行值的注入,即赋值。

3)在pom.xml中添加spring-boot-configuration-processor的依赖。

4)写测试类和启动类。
在启动类中用@SpringBootApplication(@ScanBasePackages=""),该注解用于扫描注入类所对应的包。 在测试类中,用@RunWith(SpringRunner.class)注解去加载测试运行器,另外,用@SpringBootApplication加载上下文环境,并向该注解的参数中添加启动类.class作为的参数,最后并注入要依赖的类对象,最后运行测试的方法。


注意:每个类之间都有关联性

说明:
1.第二步也可用application.yaml文件方式来进行属性值的赋予,即键值对的方式赋值。
2.对于对某个类(如Student类)中的某一个或几个属性赋值可在属性值上添加@Value("${person.id}"),看pom中是否需要导入Spring的相关的文件。
3.@ConfigurationProperties和@Value这两个注解的区别在于前一个是SpringBoot的注解,而后一个是Spring的注解,前者适用于批量注入属性,后者适用于单个属性的注入。



二、自定义配置的值的注入

也可在resource下自定义配置文件,需要在配置类上加入@Configuration,并用@PropertySource注解指定配置文件的路径及名称,另外要添加EnableConfigurationProperties(currentClass.class)或用注解@SpringBootApplication注解,并最后写测试类测试。


三、Profile多环境配置

多环境配置有两种方式:1.用Profile文件进行多环境配置。 2.用@Profile注解进行多环境配置。

法1.用Profile文件进行多环境配置
1)在resource目录下,分别建环境配置文件,文件名格式:application-xxx.properties,内容主要是:
          server.port=8081
       2)在resources目录中的全局配置文件application.properties中选择要激活的端口,代码如下:
          spring.profiles.active=dev
       3) 运行启动类查看结果。


法2.用@Profile注解进行多环境配置
1)在配置包下建一个config包,并在其下建一个用于配置数据库的接口文件。
         public interface DBConfigure{
           void configure();
         }
       2) 并建若干实现类来实现接口,用以模拟连接配置不同的数据库环境。
           @Configuration
           @Profile("dev")
           public class devDBConfigure implements DBConfigure{
               System.out.println("数据库配置环境");
           }
       3)在resources目录中的全局配置文件application.properties中选择要激活的端口,代码如下:
           spring.profiles.active=dev
       4)建一个测试类。
        @RestController
         public class DBController{
            @Autowired
            private DBConnector dbConnector;
            public void showDB(){
                void configure();
            }
         }
       5)添加扫描包(配置类)路径,运行启动类
          //加载配置并扫描包,并开启实例化类
          @SpringBootApplication(scanBasePackages = "com.Controller.*")
          public class SpringbootexerciseApplication {
            public static void main(String[] args) {
                SpringApplication.run(SpringbootexerciseApplication.class, args);
            }
          }

 

标签:SpringBoot,配置文件,配置,public,注解,注入,class,之值
来源: https://www.cnblogs.com/shijinglu2018/p/12251743.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有