转自:
Spring @EnableAutoConfiguration注解简介及使用示例
下文笔者讲述@EnableAutoConfiguration注解的功能及示例说明,如下所示
EnableAutoConfiguration是SpringBoot的一个特性可根据classpath中的jar依赖 自动注册bean,一般用于类或接口上它尝试根据您添加的jar依赖项自动配置Spring应用程序的IOC容器中 那么@EnableAutoConfiguration注解就是帮助SpringBoot程序完成这一自动装配功能 当然 @EnableAutoConfiguration注解 程序的原理,在框架SpringBoot的源码中
1.编写自动装配类
package java265.beanConfig;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;@Data //省略get set toString的编写
@ConfigurationProperties(prefix = "spring.user")
public class User { private String name;
}2.配置信息 spring.factories(注意spring.factories的位置)
# 自动装配
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
java265.beanConfig.User3.bean属性配置 application.ymlspring:user:name: java2654.测试获取自动装配beanpackage java265;import java265.beanConfig.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;@RunWith(SpringRunner.class)
@SpringBootTest
public class ApplicationTest {@Autowiredprivate User user;@Testpublic void testAutoCfg() {System.out.println(user);}}5.打印输出
User(name=java265)6.pom.xml
4.0.0 java265 spring-boot-auto 1.0.0.RELEASE jar auto-boot EnableAutoConfiguration-demo org.springframework.boot spring-boot-starter-parent 2.3.3.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-test test org.projectlombok lombok 1.18.22 provided org.springframework.boot spring-boot-maven-plugin