• 基于注解与Java Config配置IoC容器


    XML、注解和Java Config这三种只是配置方式不同,底层本质原理都是一样的。
    基于注解配置IoC容器
    JDK1.5以后提供注解。在类、属性或者方法上通过@符号增加的某一个特定的类名就是注解。
    作用:对我们所描述的类、属性、方法进行额外的功能扩展或者增强。
    基于注解的优势
    摆脱繁琐的XML形式的bean与依赖注入配置
    基于“声明式”的原则,更适合轻量级的现代企业应用
    让代码可读性变得更好,研发人员拥有更好的开发体验
    三类注解
    组件类型注解:声明当前类的功能与职责
    自动装配注解:根据属性特征自动诸如对象
    元数据注解:更细化的辅助IoC容器管理对象的注解
    四种组件类型注解
    @Component:组件注解,通用注解,被该注解描述的类将被IoC容器管理并实例化
    @Controller:语义注解,说明当前类是MVC应用中的控制器类
    @Service:语义注解,说明当前类是Service业务服务类
    @Repository:语义注解,说明当前类用于业务持久层,通常描述对应Dao类
    这四种注解都是要放在Java类上的,各自的语义就是说明,作为当前的bean需要被IoC容器进行创建与管理。利用注解可以通知当前这个类的职责是什么。
    @Repository 存储仓库的意思,这个注解通常放在业务持久层类上。业务持久层就是负责与数据库实现增删改查的Dao类。当开发过程中需要将一个Dao对象交由IoC创建并管理,那就可以在Dao类上放入@Repository。IoC容器初始化的时候会对所有的类进行扫描,发现类上有@Repository就自动的对这个Dao进行创建并进行管理。
    @Service 对应的就是业务逻辑。service是我们日常开发中用于实现功能的最核心代码。IoC容器中有很多扩展模块是专门去增强service类的。这些模块就会自动的去应用到这个service对象上,进而实现功能的增强。
    @Controller controller是承上启下的类,用于接受用户的输入调用service的方法,以及向客户端返回结果。作为@Controller学习Spring IoC容器时还用不到。
    @Component 无法确认这个类是controller、service或repository。就可以用component
    作为这四个注解,如果想要IoC识别的话还有个前置条件。就是在applicationContext.xml中开启组件扫描。不想扫描的包中的类,用context:exclude-filter正则表达式排除在外,不会被IoC容器进行管理。
    <!--XML配置开启组件扫描,才能使用注解-->
        <context:component-scan base-package="包名">
        <context:exclude-filter type="regex" expression="正则表达式"/>
        </context:component-scan>
     
  • 相关阅读:
    Pandas获取本地csv文件到内存中
    波士顿房价数据集可视化
    tensorflow之数据集调用(波士顿房价数据集)
    查单词
    censoring
    字符串大师
    Parity game
    前缀和
    String
    Seek the Name, Seek the Fame
  • 原文地址:https://www.cnblogs.com/sx1011/p/13676131.html
Copyright © 2020-2023  润新知