一、自动配置
1.自动配好web功能,自动配好mvc
2.默认的包结构会自动扫描
主程序所在的包,及其所在的下面子包都会被默认扫描
各种配置都具有默认值
默认配置都是映射到Multipartproperties
配置文件的值 会绑定到某个类上为其在容器中创建对象
只有引入的场景才会自动生效
二、配置组件
springboot如何在容器中注册组件
@Configuration//告诉springboot 这是一个配置类 等同于配置文件
public class PersonConfig {
@Bean//给容器中添加组件,以方法名作为组件id 返回类型就是组件类型 返回的值就是组件在容器中的实例
public Person getPerson()
{
return new Person("张三","男",18);
}
}
从容器中获取的组件都是单例的
在configration注解中的 proxyBeanMethods()。表示是不是代理bean的方法
且可以解决组件依赖的问题。
@configration(proxyBeanMethods=“true”)
假设 配置类中 有 A B 两个组件 B是A的某个属性
那么A依赖B
当不存在依赖是 用lite模式
会启动的更快
@import 导入组件
@Import({Person.class,PersonConfig.class})
@Conditional 按条件导入组件
@ConfigurationProperties(prefix = “person”)加在对应的实体类上