zoukankan      html  css  js  c++  java
  • Spring--IOC--AOP

    Spring结构:

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

     IOC容器是Spring框架的核心,管理Spring Beans的整个生命周期(从创建到销毁),主要包含两个不同类型的容器。ApplicationContext 容器包括 BeanFactory 容器的所有功能:

    1、Spring BeanFactory 容器

    2、Spring ApplicationContext 容器

    bean属性赋值方式

      通过构造器:可以为参数指定index、重载情况下可以指定参数类型

      通过属性

      通过p名称空间:

        a、导入p名称空间

        b、写带前缀的标签/属性

        

    bean对象作用域:

      

    静态工厂和实例工厂:

      

     

     bean的后置处理器,bean无论是否有初始化方法,后置处理器都会默认其有,还会继续工作:

    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

  • 相关阅读:
    C#搭建Oauth2.0认证流程以及代码示例
    DirectoryEntry配置IIS7出现ADSI Error:未知错误(0x80005000)
    C# 操作IIS方法集合
    dedecms首页入口的详细注释
    分享几个在线生成网址二维码的API接口
    Windows平台分布式架构实践
    WINDOWS 2008Server 配置nginx 反向代理服务器 安装成服务
    [支付宝]手机网站支付快速接入
    支付宝 app支付 沙盘使用
    支付宝接口开发-手机网站支付-沙箱测试
  • 原文地址:https://www.cnblogs.com/tianboblog/p/12334607.html
Copyright © 2011-2022 走看看