1. 首页
  2. 编程语言
  3. Java
  4. Spring @Bean vs @Service注解区别

Spring @Bean vs @Service注解区别

上传者: 2022-02-28 17:49:45上传 PDF文件 83.21 KB 热度 23次

今天跟同事讨论了一下在Spring Boot中,是使用@Configuration和@Bean的组合来创建Bean还是直接使用 @Service等注解放在类上的方式。笔者认为,好处有:使用@Configuration和@Bean的方式,Bean的创建全部放到了一个地方,接口及其实现完全跟Bean创建没有了关系。@service注解本身就承担了两个职责:一是Bean的创建;二是将一个类标识为一个服务。另为,本身Bean和Service就是两个维度的概念。由于使用@Service无法创建类库中的类的实例,因此在遇到类似需求时,不得不使用@Configuration和@Bean的形式。使用@Service,很有可能出现@Service,@Component,@Configuration和@Bean同时存在的情况。最后,顺便说一句,之前Spring的Bean创建是在xml里面,后面使用了Java做配置。不使用xml的主要原因是xml不够简洁,且没有编译时检查等功能,而不是说需要将Bean的创建分散到各个类里。

用户评论