使用注解形式配置bean
@Configuration:注解类表示这个类可以使用 Spring IoC 容器作为 bean 定义的来源
@Bean :一个带有 @Bean 的注解方法将返回一个对象,该对象应该被注册为在 Spring 应用程序上下文中的 bean
package com.sptest.bean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
// 定义该类为ioc容器类
@Configuration
public class UserConfiguration {
// 定义一个bean
@Bean
public UserConfiguration userConfiguration(){
return new UserConfiguration();
}
@Override
public String toString(){
return username+password;
}
}
// 获取 注解形式定义的上下文
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(HelloWorldConfig.class);
ctx.register(AppConfig.class, OtherConfig.class);
ctx.register(AdditionalConfig.class);
可以注册多个配置类
bean属性关联
@Bean
public Foo foo() {
return new Foo(bar());
}
@Bean
public Bar bar() {
return new Bar();
}
在Foo的构造方法中便可取到
@Import(ConfigA.class)
作用于配置类上,相当于把configA配置类和当前配置类合并
bean生命周期
@Bean(initMethod = "init", destroyMethod = "cleanup" )
####
// 使用component,controller,service,单独配置bean
// 使用@Configuration集体统一配置
网友评论