打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
SpringBoot核心配置之值的注入、多环境配置(三)
一、值的注入,步骤如下

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);            }          }

 

来源:https://www.icode9.com/content-4-629251.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
初识Spring Boot框架
SpringBoot
SpringBoot须掌握的几个注解
紧急整理了 20 道 Spring Boot 面试题,我经常拿来面试别人!
SpringBoot面试杀手锏——自动配置原理
Spring Boot 2.0系列文章(六):Spring Boot 2.0中SpringBootApplication注解详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服