zoukankan      html  css  js  c++  java
  • spring框架的ioc和aop

       spring框架,主要思想可以用spring容器来理解

    aop是一种对oop进行补充的软件设计思想,将和核心功能不相关代码抽象出来,由其他类完成,aop应该是和oop一样层次的编程思想。比如Singer类,我们可以定义一个SingerPrepare;DI将要使用的对象的创建工作交给框架,减少对象之间的耦合性。

      这是一个观察者模式,框架应该负责切面相关的工作。

    public class SingerPrepare{
    public void singBefore(){
      // 通知观众入场等
      }
    public void singAfter(){
    // 通知观众出场等
      }
    }
    public class Singer{ private SingerPrepare singerPrepare; // 被通知对象   public Singer(){     // this.singPrepare= new SingPrepare();这个对象由使用者创建,很难由其他对象使用,耦合度很高 }   public Singer(SingPrepare singPrepare){     //构造器只负责传入对象,至于是谁创建的,使用者不关心。   this.singPrepare =this.singPrepare; }   public void sing(){   singPrepare.singBefore(); //唱歌行为   singPrepare.singAfter(); }

      那么注入的SingerPrepare对象是怎么创建的呢?是Spring使用new创建的,但是这样似乎针对每一个对象都要这样,是不能实现框架的自动化。那么当代码中又注解

    @Autowired,Spring是怎么处理的?Spring是能根据这个名字读到其类文件的,就是使用了java语言本身的反射特性.

    参考资料:<<spring in acation>>

  • 相关阅读:
    crawler碎碎念4 关于python requests、Beautiful Soup库、SQLlite的基本操作
    另类爬取表格数据
    如何选择kmeans中的k值——肘部法则–Elbow Method和轮廓系数–Silhouette Coefficient
    欧几里得距离
    数据导入+欧式距离计算+互信息计算
    轮廓系数
    肘部法则
    利用键值对进行排序的操作
    NMI计算
    彻底搞懂 C# 的 async/await
  • 原文地址:https://www.cnblogs.com/Robin008/p/8809422.html
Copyright © 2011-2022 走看看