zoukankan      html  css  js  c++  java
  • 一起写框架-Ioc内核容器的实现-基础API的定义(三)

     

    Ioc内核要解决的问题

    1.被调用方,在程序启动时就要创建好对象,放在一个容器里面。

    2.调用方使用一个接口或类的引用(不用使用new),就可以创建获得对象。

    解决这个两个问题的思路

    1.定义一个对象容器,用于存储所有的创建的对象。

    2.给启动程序时就需要创建对象并放在容器里面的类一个标识,我称为组件注解。

      根据三层架构的定义:组件注解分别为

         @Controller:表示层的类

         @Service:服务层的类

         @Repository:持久层的类

         @Component:三层架构以外的类

    3.定义一个容器操作类ApplicationContext负责操作Context里面的对象

    实现步骤

    1.创建一个Eclipse的Java普通项目

    2.根据思路上定义需要的类、接口、注解

    API说明列表

    Context

    定义Ioc容器的接口

    ApplicationContext

    定义Ioc容器的操作接口

    AbstractionApplicationContext

    Ioc容器的操作的抽象类。将操作容器的公用代码写这里,预留以后有多个容器操作的实现。

    AnnotationApplicationContext

    Ioc容器的操作类基于注解的实现。

    ContextImpl

    实现Ioc容器

    AnntationApplicationContext

    实现Ioc容器的操作类

    PackageUtils

    包扫描帮助类,用于通过指定的包名获得包以及其子包的所有类的全限制名

    Component|Controller|Service|Repository

    定义四个对象组件注解

    Controller:标识表示层的类

    Service:标识服务层的类

    Repository:标识持久层的类

    Component:标识三层以外的类

    Autowired

    定义自动注入对象到引用的注解

    ComponentScan

    定义扫描注解,功能是扫描包中加了组件注解的类创建对象放在容器中

    Configuration

    定义配置类注解

    注:为了学习的方便。框架API的注解名、接口名和类名,基本和Spring框架相同。

  • 相关阅读:
    0diff算法参考资料
    js 对象属性值
    一些带有设计模式的优秀代码
    vue 配置多页面
    cms 管理系统
    网络技术:EtherChannel 链路汇聚
    网络技术:VLAN 中继协议(VTP)
    网络管理:管理信息库
    网络管理:抽象语法表示 ASN.1
    网络管理:基本编码规则(BER)
  • 原文地址:https://www.cnblogs.com/zhuyuejiu/p/7819062.html
Copyright © 2011-2022 走看看