@PropertySource与@ImportResource的区别

news/2023/6/9 20:12:18

目录

前言

@PropertySource

@ImportResource


前言

在SpringBoot中,对于JavaBean的属性一般都绑定在配置文件中,比如application.properties/application.yml/application.yaml,这三个配置文件前面的优先级高于后面的,即对于同名属性,前面的配置会覆盖后面的配置文件。

当我们自己创建类,也想放到容器中,可以单独建立文件,可以通过@PropertySource与@ImportResource这两个注解来注入到Servlet容器中,就可以搞定不在主配置里读取,按照不同的功能模块划分出不同的配置文件。
前者适合yml、yaml格式,而@importResource则适用于xml文件格式,如beans.xml 可以把其注解到窗口中,不过要放在spring boot主配置文件头部

@PropertySource

可以自定义配置文件名称,不在默认配置文件中读取值,多用于额外配置文件与实体属性映射。

在从配置文件里获取值,与JavaBean做映射。存在一个问题,我们是从主配置(application.yml)里读取的。如果全部的配置都写到application里,那么主配置就会显得特别臃肿。为了按照不同模块自定义不同的配置文件引入了@PropertySource

user.name=张三
user.age=24
user.email=xxxxxxx@qq.com
user.address=xx省xx市xx区

JavaBean

@Data
@PropertySource(value = {"classpath:user.properties"})
@ConfigurationProperties(prefix = "user")
@Component
public class Person {private String name;private Integer age;private String email;private String address;
}

 这样一个注解(@PropertySource(value = {“classpath:person.properties”}))就可以搞定不在主配置里读取,按照不同的功能模块划分出不同的配置文件。

@ImportResource

一般情况下我们自定义的xml配置文件,默认情况下这个bean是不会加载到Spring容器中来的。需要@ImportResource注解将这个配置文件加载进来。

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="UserService" class="com.boot.UserService"></bean>
<beans>

JavaBean

public class UserService {}

修改启动类

@SpringBootApplication
@ImportResource(locations = {"classpath:beans.xml"})
public class Springboot02ConfigApplication {public static void main(String[] args) {SpringApplication.run(Springboot02ConfigApplication.class, args);}
}

小结
 @PropertySource 用于引入*.Properties或者 .yml 用于给javabean注入值

一般用在javabean的类名上
@ImportResource 用于引入.xml 类型的配置文件 在spring boot中已经被配置类(@Bean)替代
一般用于启动类上

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4553900.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

《大话设计模式》之--第13章 好菜每回味不同----建造者模式

第13章 好菜每回味不同----建造者模式 13.1炒面没放盐 “小菜&#xff0c;讲了半天&#xff0c;肚子饿得厉害&#xff0c;走&#xff0c;去吃夜宵去。”大鸟摸着肚子说道。 “你请客&#xff1f;” “我教了你这么多&#xff0c;你也不打算报答一下&#xff0c;还要我请客?…

四川泡菜母水做法 如何做泡菜母水

四川有很多闻名全国的美食&#xff0c;四川泡菜就是嘉许胡晓的存在&#xff0c;据说在四川很多地区&#xff0c;家家户户都有祖传下来的老坛泡菜水&#xff0c;他也被人们称为四川泡菜母水&#xff0c;很多其它地区的人都想学习这种泡菜母水的制作方法&#xff0c;想让自己的家…

jfow-core 代码分析

EntityNoName目录概述需求&#xff1a;设计思路实现思路分析1.code:2.code2&#xff1a;3.FLows4.frm5.code3:code4:EntityTreeAttrEntitiesNoNameenum:JUmp way参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full bu…

32岁辞职读博,博三还没有文章,焦虑,如何调节?

链接&#xff1a;https://www.zhihu.com/question/418159010编辑&#xff1a;深度学习与计算机视觉声明&#xff1a;仅做学术分享&#xff0c;侵删可能因为在企业工作过&#xff0c;觉得自己现在研究的东西全是表面功夫&#xff0c;一点不实用。导师不管&#xff0c;不发钱&…

38.“财务自由“,喂给创业者的童话故事

现在我们拼搏两三年&#xff0c;等公司上市后&#xff0c;就实现财务自由&#xff0c;就能过上好日子。上面是我看到有些人拉创业者入伙时说的话&#xff0c;很具有蛊惑性。我很疑惑&#xff0c;怎么“财务自由”就和“过上好日子”画上了等号呢&#xff1f;记得“财务自由”这…

普通人怎么去赚钱?想实现财务自由只能去创业。丨国仁网络资讯

大家好&#xff0c;我是猫哥&#xff0c;今天要给大家分享的仍然是怎么去赚钱&#xff0c;我们就死磕赚钱。 近朱者赤近墨者黑。这是我一直信奉的一句真理。如果你身边的人都是穷人&#xff0c;那么你毫无意外&#xff0c;一定也是一个穷人&#xff0c;如果你身边有很多富人&a…

亚马逊云科技携手普华永道,助力泉峰集团破解数据治理与使用难题

大数据时代的到来&#xff0c;掀起了企业数字化转型的热潮&#xff0c;对于制造行业的企业来说&#xff0c;除了顺应发展潮流快速开启数字转型之外&#xff0c;以创新思维不断拓展业务广度&#xff0c;对于自身发展也有着格外重要的意义。数字化水平能否与创新发展的脚步保持一…

(二十三:2020.12.14)CVPR 2020 学习(二)《U^2 Net》

《U^2 Net: Going Deeper with Nested U-Structure for Salient Object Detection》《借助嵌套U型结构深入研究显着物体》讲在前面摘要论文内容1.介绍2.之前的相关工作2.1 多级的深度特征整合2.2 多尺度特征提取3.我们提出的方法3.1 残差U型块3.2 U2-Net的结构3.3 监督策略4.实…