springboot系列3,自动装配
程序员文章站
2022-07-13 13:37:01
...
定义:基于规约大于配置的原则,实现Spring组件自动装配的目的。对于手动装配,不管是xml或是注解都需要配,就算有enable模块可以简化配置配置,但是还是要按照需要手动配,自动装配可实现插拔式方法。
装配方式:模式注解、@Enable模块、条件装配、工厂加载机制
实现方式:
1.**自动化装配
使用注解@EnableAutoConfiguration
2.实现自动化装配
XXXAutoConfiguration
3.配置自动化装配的实现
META-INF/spring.factories
自定义自动装配
其实springboot自动装配是在spring framework手动装配的基础上,通过配置文件配置,从而让spring在启动的时候自动找到的。上代码:
/**
* HelloWorld自动装配
*/
@Configuration //spring模式注解
@EnableHelloWorld //spring @Enable 模块装配
@ConditionalOnSystemProperty(name = "user.name" , value = "haozi") //条件装配
public class HelloWorldAutoConfiguration {
}
在resource下新建文件META-INF/spring.factories,并把上面的类配置上去
# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.haozi.demo.configuration.HelloWorldAutoConfiguration
接下来只需在引导类上加@EnableAutoConfiguration来**自动装配即可
/**
* {@link EnableAutoConfiguration} 的引导类
*/
@EnableAutoConfiguration
public class EnableAutoConfigurationBootstrap {
public static void main(String[] args) {
ConfigurableApplicationContext context = new SpringApplicationBuilder(EnableAutoConfigurationBootstrap.class)
.web(WebApplicationType.NONE) //非web类型
.run(args);
String helloWorld = context.getBean("helloWorld", String.class);
System.out.println("helloWorld Bean : " + helloWorld);
String helloWorld2 = context.getBean("helloWorld2", String.class);
System.out.println("helloWorld Bean : " + helloWorld2);
context.close();
}
}
运行结果
上一篇: ThinkPhp5.0模型的使用
下一篇: 数据集___
推荐阅读