@Configuration和@Bean的区别
时间: 2023-07-03 08:33:41 浏览: 87
@Configuration 和 @Bean 都是 Spring 中用于配置和管理 bean 的注解,但它们的使用方法和作用不太一样。
@Configuration 注解通常用于定义一个配置类,该类中可以包含多个 @Bean 注解的方法,用于定义和注册 bean。
示例代码:
```
@Configuration
public class MyConfig {
@Bean
public MyBean myBean() {
return new MyBean();
}
}
```
上述代码中,@Configuration 注解标记 MyConfig 类为配置类,@Bean 注解标记 myBean() 方法为一个 bean 工厂方法,返回一个 MyBean 类型的对象。
@Bean 注解则是直接注册一个 bean 对象,通常用于方法级别的 bean 定义。
示例代码:
```
public class MyBean {
private String name;
// setter 和 getter 方法
}
@Configuration
public class MyConfig {
@Bean
public MyBean myBean() {
MyBean myBean = new MyBean();
myBean.setName("myBean");
return myBean;
}
}
```
上述代码中,@Bean 注解标记 myBean() 方法为一个 bean 工厂方法,返回一个 MyBean 类型的对象,并且给该对象的 name 属性赋值为 "myBean"。
因此,@Configuration 和 @Bean 都能用于定义 bean,但是使用方式不同,@Configuration 所注解的类通常包含多个 @Bean 注解的方法,而 @Bean 注解则直接标记方法为 bean 工厂方法。
阅读全文