zoukankan      html  css  js  c++  java
  • 注解@Component,@Controller,@Service,@Repository简单了解

    Spring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的开发。@Repository注解便属于最先引入的一批,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。具体只需将该注解标注在 DAO类上即可。同时,为了让 Spring 能够扫描类路径中的类并识别出 @Repository 注解,需要在 XML 配置文件中启用Bean 的自动扫描功能,这可以通过<context:component-scan/>实现;

    Spring 2.5 在 @Repository的基础上增加了功能类似的额外三个注解:@Component、@Service、@Constroller

    它们分别用于软件系统的不同层次:

    @Component 是一个泛化的概念,仅仅表示一个组件 (Bean) ,可以作用在任何层次。

    @Service 通常作用在业务层,但是目前该功能与 @Component 相同。

    @Constroller 通常作用在控制层,但是目前该功能与 @Component 相同

    。通过在类上使用 @Repository、@Component、@Service 和 @Constroller 注解,Spring会自动创建相应的 BeanDefinition 对象,并注册到 ApplicationContext 中。这些类就成了 Spring受管组件。这三个注解除了作用于不同软件层次的类,其使用方式与 @Repository 是完全相同的

    @Component 是通用标注

    •@Controller 标注 web 控制器

    •@Service 标注 Servicec 层的服务

    •@Respository 标注 DAO 层的数据访问

    @Controller 用来定义控制(dao)层的组件

    @Service 用来定义业务层(service)的组件

    @Respository 用来定义持久层(domain)的组件

    @Component 用来定义不在上述范围内的一般性组件

    上面组件的名称默认是类名的首字母小写,如果要重命名,则这样@controller("beanName")

    当在spring中配置了<context:annotation-config/> 和<context:component-scan base-package="*">时,上述四种注解的组件都会由spring容器来创建为bean并由自己来管理.

     

  • 相关阅读:
    阿里巴巴Java开发规约扫描插件-Alibaba Java Coding Guidelines 在idea上安装使用教程
    [Rust] 数据类型的转换
    [golang] 错误处理
    [golang] 变量声明和初始化 var, :=, new() 和 make()
    [golang] 概念: struct vs interface
    [Rust] 变量的属性: 不可变(immutable), 可变(mutable), 重定义(shadowing), 常量(const), 静态(static)
    [Rust] 命名习惯
    [Rust] Workspace,Package, Crate 和 Module
    如何将 IPhone 的文件导入 Linux
    软引用和弱引用
  • 原文地址:https://www.cnblogs.com/weibanggang/p/9758817.html
Copyright © 2011-2022 走看看