返回顶部
首页 > 资讯 > 后端开发 > Python >SpringBootbean依赖属性配置详细介绍
  • 380
分享到

SpringBootbean依赖属性配置详细介绍

2024-04-02 19:04:59 380人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

创建实体类 @Data public class Cat { private String name; private Integer age; } @Data pu

创建实体类

@Data
public class Cat {
    private String name;
    private Integer age;
}
@Data
public class Mouse {
    private String name;
    private Integer age;
}

配置文件application.yml使用固定格式为属性注入数据

cartoon:
  cat:
    name: "图多盖洛"
    age: 5
  mouse:
    name: "泰菲"
    age: 6

业务类定义业务功能bean,在引导类通常使用@Import导入,解耦强制加载bean

使用@EnableConfigurationProperties注解设定使用属性类时加载bean

@Data
//当加载CartoonCatAndMouse类时将CartoonProperties类加载成bean,不用不加载,解耦合
@EnableConfigurationProperties(CartoonProperties.class)
public class CartoonCatAndMouse {
    private Cat cat;
    private Mouse mouse;
    private CartoonProperties cartoonProperties;
    public CartoonCatAndMouse(CartoonProperties cartoonProperties){
        this.cartoonProperties = cartoonProperties;
        cat = new Cat();
        cat.setName(cartoonProperties.getCat()!=null && StringUtils.hasText(cartoonProperties.getCat().getName()) ? cartoonProperties.getCat().getName() : "tom");
        cat.setAge(cartoonProperties.getCat()!=null && cartoonProperties.getCat().getAge()!=null ? cartoonProperties.getCat().getAge() : 3);
        mouse = new Mouse();
        mouse.setName(cartoonProperties.getMouse()!=null && StringUtils.hasText(cartoonProperties.getMouse().getName()) ? cartoonProperties.getMouse().getName() : "jerry");
        mouse.setAge(cartoonProperties.getMouse()!=null && cartoonProperties.getMouse().getAge()!=null ? cartoonProperties.getMouse().getAge() : 4);
 
    }
    public void play(){
        System.out.println(cat.getAge()+"岁的"+cat.getName()+"和"+ mouse.getAge()+"岁的"+mouse.getName()+"打起来了");
    }
}

将业务功能bean运行需要的资源抽取长独立的属性类,设置读取配置文件的信息

@Data
//类与配置文件绑定
@ConfigurationProperties(prefix = "cartoon")
public class CartoonProperties {
    private Cat cat;
    private Mouse mouse;
}

测试

@SpringBootApplication
//当运行时将CartoonCatAndMouse类加载成bean,不允许不加载
@Import(CartoonCatAndMouse.class)
public class Demo15springbootBeanpropertiesApplication {
    public static void main(String[] args) {
        ConfigurableApplicationContext ctx = SpringApplication.run(Demo15SpringbootBeanpropertiesApplication.class, args);
        CartoonCatAndMouse bean = ctx.getBean(CartoonCatAndMouse.class);
        bean.play();
    }
}

总结

  1. 业务bean的属性可以为其设定默认值
  2. 当需要设置时通过配置文件传递属性
  3. 业务bean应尽量避免设置强制加载,而是根据需要导入后加载,降低spring容器管理bean的强度

到此这篇关于SpringBoot bean依赖属性配置详细介绍的文章就介绍到这了,更多相关SpringBoot bean依赖属性配置内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SpringBootbean依赖属性配置详细介绍

本文链接: https://lsjlt.com/news/168452.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SpringBootbean依赖属性配置详细介绍
    创建实体类 @Data public class Cat { private String name; private Integer age; } @Data pu...
    99+
    2024-04-02
  • Springboot中项目的属性配置的详细介绍
    目录正文1. 少量配置信息的情形2. 多个配置信息的情形3. 指定项目配置文件4. 总结正文 我们知道,在项目中,很多时候需要用到一些配置的信息,这些信息可能在测试环境和生产环境下会...
    99+
    2024-04-02
  • C#属性的详细介绍
    这篇文章主要讲解了“C#属性的详细介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#属性的详细介绍”吧!C# 属性示例代码class TimePeriod  ...
    99+
    2023-06-17
  • css3中transform属性详细介绍
    本篇内容主要讲解“css3中transform属性详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css3中transform属性详细介绍”吧!CSS3变...
    99+
    2024-04-02
  • SpringBootPom文件依赖及Starter启动器详细介绍
    目录Pom文件的依赖spring-boot场景启动器Pom文件的依赖 我们进入POM文件,首先是看到的是Pom文件中的parent parent是Spring Boot的框架版本控制...
    99+
    2024-04-02
  • CSS的pointer-events属性详细介绍
    本篇内容主要讲解“CSS的pointer-events属性详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS的pointer-events属性详细介绍...
    99+
    2024-04-02
  • CSS的position属性的详细介绍
    这篇文章主要介绍“CSS的position属性的详细介绍”,在日常操作中,相信很多人在CSS的position属性的详细介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CS...
    99+
    2024-04-02
  • CSS3圆角属性的详细介绍
    本篇内容介绍了“CSS3圆角属性的详细介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!border-ra...
    99+
    2024-04-02
  • css3中transition属性的详细介绍
    这篇文章主要讲解了“css3中transition属性的详细介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css3中transition属性的详细介绍”...
    99+
    2024-04-02
  • html中placeholder属性的详细介绍
    本篇内容主要讲解“html中placeholder属性的详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html中placeholder属性的详细介绍”吧...
    99+
    2024-04-02
  • H5的事件属性详细介绍
    这篇文章主要介绍“H5的事件属性详细介绍”,在日常操作中,相信很多人在H5的事件属性详细介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”H5的事件属性详细介绍”的疑惑有所帮...
    99+
    2024-04-02
  • SpringMVC @RequestMapping注解属性详细介绍
    目录@RequestMapping注解的功能@RequestMapping注解的位置@RequestMapping注解的value属性@RequestMapping注解的method...
    99+
    2023-02-10
    SpringMVC @RequestMapping SpringMVC @RequestMapping注解属性
  • phpmyadmin配置的详细介绍
    本篇内容主要讲解“phpmyadmin配置的详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“phpmyadmin配置的详细介绍”吧!  phpmyadmi...
    99+
    2024-04-02
  • AndroidStudio kotlin配置详细介绍
    AndroidStudio kotlin配置安装插件File -> Settings -> Plugins -> Browse repositories -> 搜索 kotlin gradle添加依赖Module的b...
    99+
    2023-05-31
    android kotlin roi
  • SpringBoot起步依赖和自动配置基本介绍
    目录1、起步依赖2、自动配置1、起步依赖 概念起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一...
    99+
    2023-05-16
    SpringBoot起步依赖和自动配置 SpringBoot自动配置
  • WPF依赖属性用法详解
    一、什么是依赖属性 依赖属性就是一种自己可以没有值,并且可以通过绑定从其他数据源获取值。依赖属性可支持WPF中的样式设置、数据绑定、继承、动画及默认值。 将所有的属性都设置为依赖属性...
    99+
    2024-04-02
  • Maven分模块开发与依赖管理和聚合和继承及属性深入详细介绍
    目录前言分模块开发1.1 分模块开发理念1.按照功能拆分2.按照模块拆分1.2 分模块开发实现2.依赖管理2.1 依赖传递与冲突问题2.2 可选依赖和排除依赖3.聚合和继承 ...
    99+
    2022-11-13
    Maven分模块开发 Maven依赖管理 Maven聚合
  • android TextView属性的详细介绍 分享
    android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web /email/phone/map/...
    99+
    2022-06-06
    Android
  • CSS3中的border-radius属性详细介绍
    这篇文章主要讲解了“CSS3中的border-radius属性详细介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS3中的border-radius属...
    99+
    2024-04-02
  • css属性选择器的详细介绍
    这篇文章主要讲解了“css属性选择器的详细介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css属性选择器的详细介绍”吧!1.[class~="...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作