栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring 工厂与AOP的总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring 工厂与AOP的总结

接口:屏蔽实现的差异
非 web 环境 (main junit) :ClassPathXmlApplicationContext
web 环境 :XmlWebApplicationContex

ctrl+h 查看接口的实现类

Java程序

第一步

在resources创建applicationContext.xml(Spring config)

第二步

创建接口实现类

Application ctx=new ClasspathXmlApplicationContext ("类的路径")

ctx.getBean("类的id")

Person person = (Person) ctx.getBean("person");
        //根据name 的类名, 只能有一个bean class是Person类型
        Person person1 = ctx.getBean(Person.class);
        //
        String[] beanDefinitionNames = ctx.getBeanDefinitionNames();
        for (String a:beanDefinitionNames){
            System.out.println(a);
        }
        System.out.println();
        String[] beanNamesForType = ctx.getBeanNamesForType(Person.class);
        for (String a:beanNamesForType){
            System.out.println(a);
        }
        System.out.println( ctx.containsBeanDefinition("user"));

工厂模式的优点 解耦合 可以在配置文件中改变对象,而不用在代码中改变,方便运维

工厂模式的原理  反射,接口回调

基于动态代理的开发

分为三步

创建原始对象

创建实现额外功能的对象

切入点和组装,因为要复用,所以要可以到处拼

第一步很简单,创建一个类,实现某个接口的功能进而实现(impl)

第二步也很简单  创建要实现额外功能的类,这里有分支,可以创建一个类实现

MethodInterceptor接口

或者基于注解,与继承很类似,因为都可以被spring 识别

第三步 切入点是指要放到什么地方 组装就是将切入点与 额外方法对应

 

 AOP的优点 方便对原始类进行维护,进行代码功能的拼接(中介)

AOP的原理 1、 JDK的动态代理*(基于原始对象的接口,进行代理对象的创建)

                    2、Cglib 基于继承原始对象来创建对象

                在对类的创建过程中,在BeanPostProcess的实现类对Bean进行加工,直接返回的是代理类

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/778765.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号