Spring是分层的 Java SE/EE应用 fullstack(全栈式) 轻量级开源框架。
笔试里考两大核心常考简答题
两大核心:
IOC(Inverse Of Control:控制反转):把对象的创建交给srping
AOP(Aspect Oriented Programming:面向切面编程)为内核:在不修改源代码的情况,对方法进行增强,(之前学习过的动态代理也可以,底层是动态代理,aop就是对动态代理的封装)
这Spring的优势面试中也会经常问到
Spring优势
1)方便解耦,简化开发
Spring就是一个容器,可以将所有对象创建和关系维护交给Spring管理
什么是耦合度?对象之间的关系,通常说当一个模块(对象)更改时也需要更改其他模块(对象),这就是耦合,耦合度过高会使代码的维护成本增加。要尽量解耦
耦合:程序间的依赖关系
解耦:降低程序间的依赖关系 体现:编译期不依赖,运行期才依赖
看见 new 就会存才编译期依赖 耦合重的体现,思路去掉new关键字
Class.forName(“com.mysql.jdb.Driver”);
解决了编译期间依赖 问题:存在硬编码问题
解决思路:配置文件+反射 自定义ioc就是这种思路来进行解耦
2)AOP编程的支持
Spring提供面向切面编程,方便实现程序进行权限拦截,运行监控等功能。
3)声明式事务的支持
通过配置完成事务的管理,无需手动编程
4)方便测试,降低JavaEE API的使用
Spring对Junit4支持,可以使用注解测试
5)方便集成各种优秀框架
不排除各种优秀的开源框架,内部提供了对各种优秀框架的直接支持
如果大家觉文章得有帮助,请帮忙点点赞和关注哦,墨小会更有动力一直分享编程核心内容的,谢谢!