标签:autoconf http 简单 注入 一个 自动 讲解 ioc NPU
1、配置绑定(要么使用把它加到容器中,要么在配置类中开启配置绑定)
过程:properties-->配置文件-->JavaBean
~使用原生代码编写(麻烦):
public class getProperties { public static void main(String[] args) throws FileNotFoundException, IOException { Properties pps = new Properties(); pps.load(new FileInputStream("a.properties")); Enumeration enum1 = pps.propertyNames();//得到配置文件的名字 //遍历配置属性名,拿到属性值 while(enum1.hasMoreElements()) { String strKey = (String) enum1.nextElement(); String strValue = pps.getProperty(strKey); System.out.println(strKey + "=" + strValue); //封装到JavaBean。 } } }
~使用注解的方式:@ConfigurationProperties(简单)
(配置文件时yml后缀,所以配置项要用:冒号分隔)
使用@ConfigurationProperties这个注解,说明这是一个配置绑定,且把用@Component加到容器中。
让Car类属性中的值跟配置文件中设置的值已经成功绑定上,也就是配置文件为Car组件的属性赋值。
//测试配置绑定功能
//上一步中,配置文件为Car组件赋值,IOC容器中已经存在该组件,
//我们只要在控制类中使用自动注入,就可以把容器中的组件拿来用
需要修改组件中属性的值,只需要修改配置文件,然后重新启动项目,重新浏览器请求:
~还可以使用@EnableConfigurationProperties + @ConfigurationProperties方式配置
这种方式不需要使用@Component标注配置注解,而是在配置类MyConfig上方加一个注解,来开启某个类的配置绑定和将该类组件自动注册到容器中
2、自动配置原理
2.1引导加载自动配置类 核心注解:@SpringBootApplication,它包含了三个注解:
重点讲解@EnableAutoConfiguration开启自动配置,它又是@AutoConfigurationPackage和@Import这两个注解的合成:
标签:autoconf http 简单 注入 一个 自动 讲解 ioc NPU
原文地址:https://www.cnblogs.com/Yi-ling/p/14456312.html