Solon v3.5.1

@Managed 用法说明

</> markdown

@Component 和 @Bean 这两个注解,语义性不强。v3.5 后新增更具语义的 @Managed (容器托管的意思)。

1、注解在类上。相当于 @Component

注解在类上,表示此为“容器托管的类”。会自动构建实例并装配,然后注册到容器。

@Managed
public class UserService { }

2、注解在方法上。相当于 @Bean

注解在方法上,表示此为“容器托管的方法”。会自动装配并运行方法,如果结果不为 null 则注册到容器。

@Configuration
public class DemoConfig {
   @Managed(value = "db1", typed = true) // 或 @Managed (v3.5 后支持)
   public DataSource db1(@Inject("${demo.db1}") HikariDataSource ds){
       return ds;
   }
}