美文网首页
四、@PropertySource&@ImportResourc

四、@PropertySource&@ImportResourc

作者: 花季浅忆 | 来源:发表于2019-03-26 23:16 被阅读0次

application.properties和 application.yml是全局配置文件,所有的配置都写在这里就不太合适 了。所以
1.@PropertySource:加载指定的配置文件

@PropertySource(value = {"classpath:person.properties"})
@Component
@Component @ConfigurationProperties(prefix = "person")
public class Person {  
     /**      * <bean class="Person">      *   
          <property name="lastName" value="字面量/${key}从环境变量、配置文件中获取值/# {SpEL}"></property>  
    * <bean/>   
   */    
  //lastName必须是邮箱格式  
  // @Email  
   //@Value("${person.last‐name}")   
  private String lastName;     //@Value("#{11*2}")  
  private Integer age;     //@Value("true")   
  private Boolean boss;

person.properties

person.last-name=李四
person.age=12
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

2.@ImportResource:导入Spring的配置文件,让配置文件里面的内容生效; Spring Boot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别; 想让Spring的配置文件生效,加载进来;@ImportResource标注在一个配置类上(比如放在App类似) 但是这种方式官方并不推荐


(I1AZ25_1B9UAJMA7O6M~S1.png
@ImportResource(locations = {"classpath:beans.xml"}) 导入Spring的配置文件让其生效

不来编写Spring的配置文件 :bean.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">


    <bean id="helloService" class="com.atguigu.springboot.service.HelloService"></bean>
</beans>


3.SpringBoot推荐给容器中添加组件的方式;推荐使用全注解的方式
a、配置类@Configuration------>Spring配置文件 2、使用@Bean给容器中添加组件

package com.flyz.config;

import com.flyz.service.HelloService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @Configuration:指明当前类是一个配置类;就是来替代之前的Spring配置文件
 *
 * 在配置文件中用<bean><bean/>标签添加组件
 *
 */
@Configuration
public class MyAppconfig {

    //将方法的返回值添加到容器中;容器中这个组件默认的id就是方法名
    @Bean
    public HelloService helloService(){
        System.out.println("配置类@Bean给容器中添加组件了...");
        return new HelloService();
    }

}



4、配置文件占位

1、随机数

 ${random.value}、${random.int}、${random.long} ${random.int(10)}、${random.int[1024,65536]}

2、占位符获取之前配置的值,如果没有可以是用:指定默认

person.last‐name=张三${random.uuid} 
person.age=${random.int} 
person.birth=2017/12/15 
person.boss=false 
person.maps.k1=v1
 person.maps.k2=14
 person.lists=a,b,c
 person.dog.name=${person.hello:hello}_dog person.dog.age=15

相关文章

  • 四、@PropertySource&@ImportResourc

    application.properties和 application.yml是全局配置文件,所有的配置都写在这里...

  • 四郎四郎傅四郎(四)

    上一章-南城(三) 第二章•无头女婴(一) 聚园柳庄内一私人别墅。 “四个,这是刚刚丁探长让人整理的和9...

  • 四(四)资源

    资源在MQL4程序中使用图形和声音 MQL4中的程序允许处理声音和图形文件:PlaySound() // 播放声...

  • 小 四 (四)

    这一次见面过后,又好多年没有见过小四。但是她三十岁那年,听到家里人又谈起了小四。 小四前两年又生了个女儿。由于她生...

  • 四幺四

    四月十四日,我想起了大学宿舍里面的扑克游戏四幺四,当时风靡整个后楼二十二系势力范围,一时“不会四幺四,人缘肯定次”...

  • 四苦 四醒 四行 四喜 四悲 四得(经典!)

    人生四苦 一苦:看不透 看不透人际中的纠结,争斗后的隐伤 看不透喧嚣中的平淡,繁华后的宁静 二苦:舍不得 舍不得曾...

  • 四人 · 四城 · 四时 · 四地

    四人 · 四城 · 四时 · 四地 由于工作和生活的原因,四个闺密的开始四地分隔生活,不一样的生活环境,不尽相同的...

  • 四郎四郎傅四郎

    契子 你有没有试过 掏心掏肺的爱一个人 嫉妒他对另一个人的好 却在他厌恶自己的那一刻 才发现 原来自己...

  • 四懂四会四能力

    四懂 1.懂本岗位的火灾危害性 2.懂预防措施 3.懂扑救火灾的方法 4.懂疏散 四会 1.会报警 2.会使用消防...

  • 四套四

    一、种子四大定律 我们是融于自然界的,不然没有大自然怎会有我们?故自然界的法则完全可以存在于我们的意识中。日常我们...

网友评论

      本文标题:四、@PropertySource&@ImportResourc

      本文链接:https://www.haomeiwen.com/subject/fqhovqtx.html