当前位置: 首页 > 图灵资讯 > 技术篇> Spring6.0从入门到精通-IoC之Bean的注解配置

Spring6.0从入门到精通-IoC之Bean的注解配置

来源:图灵教育
时间:2024-01-14 13:22:45
 

IoC之bean的注解配置

我们也可以通过注解的方式来注册Bean,比如:

@Configuration
public class AppConfig {

    @Bean
    public OrderService orderService(){
        return new OrderService();
    }

    @Bean
    public UserService userService(){
        return new UserService();
    }
}

 

AppConfig表示是一个Spring容器的配置类,利用通过@Bean定义了Bean,方法名为beanName,方法返回类型为bean类型。

 

不过需要把AppConfig注册给Spring容器:

AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext();
applicationContext.register(AppConfig.class);
applicationContext.refresh();

 

除开通过@Bean可以定义Bean以外,我们还可以通过让Spring容器扫描来自动发现Bean,比如:

@Configuration
@ComponentScan("com.zhouyu")
public class AppConfig {


}

 

我们通过@ComponentScan("com.zhouyu")指定了扫描路径,Spring会扫描指定包下的所有类(接口除外),只要类上有@Component注解,那么就相当于发现了一个Bean,当前类就是Bean类型,类名首字母小写就是beanName。

 

@Component
public class OrderService {

}

 

@Bean 用于将一个方法返回的对象注册为一个 Bean,通常用于显式地声明需要被 Spring 管理的对象。该注解通常和 @Configuration 注解一起使用,用于配置应用程序的组件。在配置类中,@Bean 注解可以修饰一个方法,这个方法返回的对象会被注册为一个 Bean,并由 Spring 容器管理。

@Component 用于将一个类声明为一个组件,通常用于隐式地声明需要被 Spring 管理的对象。该注解将类标记为一个 Spring Bean,可以使用该类的实例进行依赖注入。在使用 @Component 注解时,Spring 会自动扫描这个类,并将其实例化并注册到 Spring 容器中。