1.优点:
1.1:低侵入式设计
1.2:独立于各种应用服务器
1.3:依赖注入特点,将组件关系透明化
1.4:降低了耦合度
1.5:面向切面,把一些任务集中式处理
1.6:与第三方框架良好的整合
2.Spring定义:
轻量级框架当前的主流框架使现有的技术更加易用
3.Spring用到的设计模式: 1.单例模式:创建bean时
2.简单工厂模式: 在BeanFactory和AppliactionContext中都用到了
3.代理模式:在Aop中实现jdk动态代理
4.外观模式:Tomcat中用很多场景都用到了外观模式,因为Tomcat中有很多不同的组件但每个组件需要相互通信,但又不想暴露太多内部信息,所以使用外观模式隔离数据
5.摸版模式:在各种BeanFactory以及ApplicationContext中也用到了
6.策略模式:在java中的应用 如comparator这个借口就是为策略模式而生的
7.原型模式:使用原型模式生成一个对象比用new生成一个对象在性能上有很大的区别,因为Object的Clone()这个方法他直接操作内存中的二进制流,特别是在复制大对象时效果非常明显
8.迭代器模式:迭代器模式提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部。主要作用就是来遍历集合
4.
5.反射:
1.得到类 Class<?> 类名=Class.forName("包名.类名"); 2.根据类的到实例对象 类型 对象名=(类型)类名.newInstance(); 或 根据构造方法得到类 Constructor<?>构造名=类名.getConstructor(); 类型 对象名=构造名.new Instance();
6.普通反射(得到所有公开的属性和方法):
Class<?>类名=Class.forName("包名.类名”); Field[] 属性名=类名.getFields(); Method[]方法名=类名.getmethod();7.暴力反射(得到所有的属性和方法):
Class<?>类名=Class.forName("包名.类名”); Field[] 属性名=类名.getDeclaredFields(); Method[]方法名=类名.getDeclaredmethod();
转载于:https://www.cnblogs.com/HQ0422/p/10002279.html
