@Configuration 指明当前类是一个配置类来替代之前的Spring配置文件,Spring boot的配置类,相当于Spring的配置文件
@Bean将方法的返回值添加到容器中
通过@Bean向容器中注册组件:
方法名就是组件的id,返回类型就是组件类型,返回的值就是组件中的实例对象
@Bean("XXX“)XXX就是组件id的别名
@Bean
public User user01(){
User user = new User();
user.setName("zhangao");
user.setAge(12);
user.setPet(tomcat());//这个pet就是容器中的pet
return user;
}
@Bean("tom")//不用方法名作为组件id,为组件id起别名
public Pet tomcat(){
return new Pet("tom");
}
@Configuration(proxyBeanMethods = true) 开启代理bean
true :每次调用组件中的实例,如果组件有都会调用组建的代理实例,多次调用都是调用的同一个代理实例。
false:每次调用都会重新创建一个组件实例。