春 - IOC - AOP

バネ構造:

 

 =============================================== IOC == =============================================

 IOCコンテナはコアスプリングフレームワーク、(作成から破壊まで)全体のライフサイクルの春豆の管理は、主にコンテナの二つの異なるタイプから構成されています。すべての機能のコンテナを含めたBeanFactory ApplicationContextのコンテナ:

1、Spring BeanFactory 容器

2、春のApplicationContext容器

 

豆プロパティの割り当てモード

  Indexは、パラメータとして指定することができ、重い負荷がタイプパラメータに指定することができます。コンストラクタで

  プロパティにより、

  Pの名前空間を通して:

    、Pインポート名前空間

    B、それが接頭辞タグ/プロパティで書かれています

    

 

 

 

豆対象範囲:

  

 

 

 

静的工場と工場の例:

  

 

 

 

 

 

 

 豆ポストプロセッサは、関係なく、豆の初期化方法、ポストプロセッサがデフォルトを持っているかどうかの、作業していきます。

public class InitHelloWorld implements BeanPostProcessor{
    public Object postProcessBeforeInitialization(Object bean,String beanName) {
        System.out.println("BeforeInitialization:"+beanName);
        return bean;  // you can return any other object as well
    }
    
    public Object postProcessAfterInitialization(Object bean,String beanName) {
        System.out.println("AfterInitialization:"+beanName);
        return bean;  // you can return any other object as well
    }
}

spring管理连接池:

 

 

 

            

从配置文件中读取配置:

获取连接:

 

 

 

   

 

自动装配:

 

 自动扫描:

 

 

 

 

 @Autowired注解实现类型自动装配:

  1. 找到一个就装配,没有找到抛出异常,可以指定@Autowired(required=false)没有找到赋为null
  2. 当有个多个时(继承关系)按照变量名作为id继续匹(通常情况下不让spring使用变量名,使用@Qualifier("指定名称")),如果没有匹配上抛异常
  3. 方法上加注解

  4.@Autowired和@Resource的区别

 

 Spring单元测试:

 

 

 泛型依赖注入:

 

 ============================================AOP============================================

 

 

 

 AOP专业术语:

 

 

 

 

 使用步骤:

1、导入包

 

 

2、添加注解配置,告诉spring哪个是切面类

3、告诉spring切面类中每个方法都是何时何地运行

     切入点表达式:

    

 

 

4、 开启基于注解的AOP功能

基于xml配置AOP:

 

 

 

 

切入点表达式重用:

 

 

 环绕通知:

 

 

 

 

 

 

 

实现AOP的两种动态代理模式:

面向接口(MyMathCalculator implements Calculator)时,是jdk帮我们创建的代理:

 

 

 

   如果没有接口时,cglib帮我们创建代理:

  

 AOP使用场景:

  

 ApplicationContext和BeanFactory的区别:

 

 

 

 

https://www.w3cschool.cn/wkspring/dcu91icn.html

おすすめ

転載: www.cnblogs.com/tianboblog/p/12334607.html