1、作者:Spring是Rod Johnson组织和开发的一个分层的JavaSE/JavaEE(一站式)轻量级开源框架
2、目的:
为了简化Java企业级应用开发,它以IOC(Inversion of Control,控制反转)和Aop(Aspect Oriented Programming,面向切面编程)为内核,使用基本的JavaBean来完成以前只可能由EJB(Enterprise Java Beans,Java企业Bean)完成的工作,取代了EJB的臃肿、低效的开发模式。(高内聚,低耦合)
3、优点:
①Spring是一个轻量级,非侵入框架:它可以使应用程序代码对框架的依赖最小化
②控制反转(IOC):Spring通过控制反转实现了松散耦合,对象们给它们的依赖,而不是创建或查找依赖的对象们
③面向切面编程(AOP):Spring支持面向切面编程,并且把应用业务逻辑和系统服务分开,它允许将一些通用任务、如安全、事务、日志等进行集中式处理,从而提高了程序的复用性
④容器:Spring包含并管理应用中的对象的生命周期和配置
⑤方便集成各种优秀框架:Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架如(Struts、Hibernate、MyBatis,Quartz等)的直接支持
⑥事务处理:支持声明式事务处理,只需要通过配置就可以完成对事务的管理,而无需手动编程
⑦异常处理:Spring提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为一致的unchecked异常。
依赖:
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.8</version></dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.3.8</version></dependency>
Spring的组件
弊端:发展了太久之后,违背了原来的理念!配置十分繁琐,人称:“配置地狱”