spring通过yaml创建对象简单demo记录下 方便后实现handler自动注入框架开发用

avatar
作者
筋斗云
阅读量:0

在Spring框架中,你可以使用@ConfigurationProperties注解和一个配置类来读取YAML文件中的类全路径并创建对象。以下是一个简单的例子:

首先,创建一个YAML配置文件,比如application.yaml,并在其中指定类的全路径:

myapp:   class-name: com.example.MyClass 

创建一个配置类来读取YAML中的值并创建对象:

import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;   @Configuration public class AppConfig {      @ConfigurationProperties(prefix = "myapp")     public static class MyClassProperties {         private String className;          // getter and setter         public String getClassName() {             return className;         }          public void setClassName(String className) {             this.className = className;         }     }      @Bean     public MyClass myClass(MyClassProperties properties) throws ClassNotFoundException, IllegalAccessException, InstantiationException {         @SuppressWarnings("unchecked")         Class<MyClass> clazz = (Class<MyClass>) Class.forName(properties.getClassName());         return clazz.newInstance();     } } 

定义你的类MyClass:

java

public class MyClass {     // class fields and methods } 

确保MyClass有一个无参构造函数,因为Class.newInstance()将使用这个构造函数来创建对象。

这个配置类AppConfig读取YAML文件中myapp.className的值,然后使用反射机制来创建这个类的实例,并将其作为一个Bean注册到Spring容器中。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!