本文已参与「新人创作礼」活动,一起开启掘金创作之路。
马上要进行毕业答辩了,正好借着这个平台,复习总结一下毕设中涉及到的一些技术,就当作是答辩时的稿子了,主要是给自己看.........
如果被问到Spring框架
这个感觉到时候一定会问道,不过Spring 是一个大体框架,简单介绍一下一个就可以了。它一个轻量级 Java 开发框架,解决的业务层与其他各层的耦合问题。其核心就是控制反转IOC 和 面向切面编程 AOP。控制反转就是将创建对象的权力交给 Spring,实现对象耦合关系的管理,并实现依赖反转,将对象之间的依赖关系交给 IOC 容器,实现解耦;AOP 面向切面编程,就是通过配置切面、切点以及通知来减少系统中的重复代码,降低模块间的模块耦合,有利于未来的可扩展性。
顺着Spring可以分析一下控制反转
控制反转,可以从两方面来解释,就是“控制”和“反转”。结合Spring的目的是“降低模块间的耦合”,理解这两个词语的意思。“控制”就是指某个JavaBean执行某个方法的控制权,而“反转”就是只将这个控制权从调用类(也就是这个JavaBean)中移除,转给第三方来决定。这样就达到了降低代码耦合的目的。否则,每当想要增加一个方法,或者想改变某个方法时,就要频繁的修改JavaBean,非常麻烦。
也可以提一下面向切面AOP
面向切面是一种编程思想,而且有PSpring AOP 和 Aspect JAOP,Spring AOP中集成了 Aspect J AOP,前者是运行时增强,即动态代理,包括 JDK 动态代理 和 CGLib 代理,是在运行时内存中临时生成代理类,也就是在运行时织入切面;后者 是编译时增强,即静态代理,在类加载器中通过字节码转换,将目标织入切点。直白点讲大致就是,如果有一个场景是需要单独处理某部分模块代码的逻辑,但其实跟真正的业务逻辑没有关系,这时就可以运用面向切面思想,将这一部分提到主业务逻辑的“外面”进行处理。主要目的其实还是降低耦合。
...........怎么感觉像是在写面经,总之,如果导师提到Spring,就可以想着“降低耦合”这一特点进行铺开分析。 有些地方可能说的不怎么准确,有人看出问题可以指出来。我向你敬礼啊,Respect!