@component和@configuration的区别和案例
时间: 2023-12-27 10:03:53 浏览: 27
`@Component` 和 `@Configuration` 都是 Spring 框架中用于定义 Bean 的注解。
`@Component` 注解用于标注一个类为 Spring 组件,表示该类会被 Spring 自动扫描并纳入到 Spring 容器中管理。通常情况下,`@Component` 注解可以用于任何类,包括持久化类、业务逻辑类、控制层类等。
例如:
```java
@Component
public class UserDaoImpl implements UserDao {
// implementation code
}
```
`@Configuration` 注解用于标注一个类为 Spring 配置类,表示该类会定义一些 Bean,并将这些 Bean 注入到 Spring 容器中。`@Configuration` 注解通常与 `@Bean` 注解一起使用,`@Bean` 注解用于定义一个 Bean。
例如:
```java
@Configuration
public class AppConfig {
@Bean
public UserDao userDao() {
return new UserDaoImpl();
}
}
```
在上面的例子中,`AppConfig` 类使用 `@Configuration` 注解标注为配置类,并使用 `@Bean` 注解定义了一个名为 `userDao` 的 Bean,其类型为 `UserDaoImpl`。
总的来说,`@Component` 注解用于标注组件类,而 `@Configuration` 注解用于标注配置类,并且后者通常使用 `@Bean` 注解定义 Bean。