什么是spring
- Spring是一个Java的免费开源的框架。
- Spring 使创建 Java 企业应用程序变得容易。
- 它是为了解决企业应用开发的复杂性而创建的。
9* 2003 年 2 月,Spring 0.9 版本发布,它采用了 Apache 2.0 开源协议; - 2004 年 4 月,Spring 1.0 版本正式发布。
- 到目前为止,Spring 已经步入到了第 5 个大版本,也就是我们常说的 Spring 5。
spring的优点
方便解耦,简化开发
Spring 就是一个大工厂,可以将所有对象的创建和依赖关系的维护交给 Spring 管理。
方便集成各种优秀框架
Spring 不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如 Struts2、Hibernate、MyBatis 等)的直接支持。
降低 Java EE API 的使用难度
Spring 对 Java EE 开发中非常难用的一些 API(JDBC、JavaMail、远程调用等)都提供了封装,使这些 API 应用的难度大大降低。
方便程序的测试
Spring 支持 JUnit4,可以通过注解方便地测试 Spring 程序。
AOP 编程的支持
可以进行面向切面的编程,可以方便地实现对程序进行权限拦截和运行监控等功能。
声明式事务的编程
spring核心
控制反转(IoC)
使用容器进行对象创建
从前使用传统的创建方案的,流程如serviceImpl→service→daoImpl→dao,仅仅使用一个的实现不追加修改的情况下差别不大。但是当我们要追加一个实现的话,差距就能显示出来了:
我们在使用传统的开发模式进行开发的时候,需要在Dao追加一个实现类,再修改service的实现类,这样子在每次想要追加的时候都要不停的改动代码,为dao扩展实现类,需要反复的追加项目变动代码;
在使用Spring的IoC的思想,在Dao地方,留一个入参,追加使用set方法实现改变Dao的项目 setUserDao(UserDao userDao){ this.userDao = userDao; }
将get方法进行重载。如此如此,测试的时候可以这样进行测试:
service.setUserDao(userMySqlImpl());
service.getUser();
service.setUserDao(userOracleImpl());
service.getUser();
这样子在我们的方法体执行的时候,执行之前先去确定我们的入参是MySql还是Oracle,之后在进行执行方法体。
面向切面编程(AOP)
强调文本 强调文本
加粗文本 加粗文本标记文本删除文本> 引用文本H2O is是液体。210 运算结果是 1024。