@Service是标记在接口上还是实现类上?
@Service
注解、@Controller
注解以及@Repository
注解都是Spring
中的注解,加上这些注解的目的是可以区分JavaEE
三层架构中的三个不同层次,其目的都是控制反转,将Java
对象交给Spring
容器创建。@Service
注解是标注在实现类上的。请看下面的代码:
@Service
public class ProductInfoServiceImpl implements ProductInfoService {
// 代码实现
}
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Service {
String value() default "";
}
以上是@Service
注解的代码。它实际上起作用的就是@Component
,也就是说只是个普通的bean。所以肯定是标注具体类的啊!
3 回答2.6k 阅读✓ 已解决
3 回答4.1k 阅读✓ 已解决
8 回答3.6k 阅读
4 回答2.7k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
@Service
注解是标注在实现类上的,因为@Service
是把spring
容器中的bean
进行实例化,也就是等同于new
操作,只有实现类
是可以进行new
实例化的,而接口
则不能,所以是加在实现类
上的。