方法一:XML配置Bean
这个方法非常常见,举个例子:
<bean id="User" class="com.dudu.Pojo.User">
方法二:@Bean
@Configuration(proxyBeanMethods = false)
public class Config {
@Bean
public User user1(){
return new User();
}
@Bean
@ConditionalOnBean(name="user1")
public Cat cat1(){
return new Cat();
}
}
方法三:BeanFacoty registerSingleton
@Configuration(proxyBeanMethods = false)
public class Config implements BeanFactoryPostProcessor {
//BeanFactoryPostProcessor它神通广大,不仅可以将一个对象交给spring管理,
// 还可以将已经交给spring管理的对象拿出来进行修改,还有其他各种的spring初始化的干预都可以做。
// 所以用它来仅仅注册一个Bean有点杀鸡用牛刀的味道。
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory configurableListableBeanFactory) throws BeansException {
User user = new User();
configurableListableBeanFactory.registerSingleton("dudu1",user);
}
}
方法四:Controller service这样的注解