Spring介绍

mac2022-07-05  11

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

最新回复(0)