什么是Spring?

Spring是一个轻量级的java开发框架,是一个分层的javaSE/JavaEE full-stack(一站式)轻量级的开源框架,为开发java应用程序提供全面的基础架构支持。

目的:为了解决企业级应用开发的复杂性,即业务逻辑层和其他各层的耦合问题,方便java开发者可以专注于应用程序的开发。

Spring总共大约有20个模块,由1300多个不同的文件构成,这些组件被分别整合以下模块中:

1. 核心容器(Core Container)

2. AOP(Aspect Oriented Programming)和设备支持(Instrumentation)

3. 数据访问与继承(Data Access/Integeration)

4. WEB

5. 消息(Messaging)

6. Test

Spring框架知识点整理

1. Spring core:提供了框架的基本组成部分,包括控制反转(IOC)和依赖注入(DI)功能;

2. Spring beans:应用核心,提供了BeanFactory,是工厂模式的一个经典的实现,Spring将管理对象称为Bean,它使Spring成为一个容器;

3. Spring Context:构建于core封装包基础上的context分装包,提供了一种框架式对象访问方法;

4. Spring jdbc:提供了一个jdbc的抽象层,消除了繁琐的jdbc编码和数据库厂商特有的错误代码解析,用于简化jdbcl

5. Spring aop:提供了面向切面的编程实现,让你可以自定义拦截器,切点等;

6. Spring Webb:提供了针对Web开发的集成特性,例如文件上传,利用servlet listeners进行ioc容器的初始化和针对web的applicationContext。

7. Spring test:主要是为测试提供支持,支持使用JUnit或者testng对spring组件进行单元测试和集成测试。

Spring框架中用到了哪些设计模式?

1. 工厂模式:BeanFactory是简单的工厂模式的体现,用来创建对象的实例;

2. 单例模式:Bean默认为单例模式;

3. 代理模式:Spring的AOP功能用到了JDK的动态代理和CGLIB字节码生成技术;

4. 模版方法:用来解决代码重复的问题,比如在RestTemplate,JmsTemplate,JpaTemplate。

5. 观察者模式:定义对象键一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知被制动更新,如Spring中listener的实现--applicationListener。

Spring的核心?

Spring框架的核心:IOC容器,AOP模块。

Spring通过IOC容器管理POJO对象以及它们之间的耦合关系,IOC容器让相互协助的组件保持松散的耦合;

Spring通过AOP以动态非侵入的方式增强服务,AOP编程允许把遍布应用各层的功能分离出来形成可以重用的组件,例如监控异常,登陆拦截等

Spring的优缺点是什么?

优点:

  • 方便解耦,简化开发:Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护,交给Spring管理
  • 提供AOP(面向切面)编程支持:例如登陆拦截,监控异常等
  • 声明式事务的支持:只需要通过配置就可以完成对事务的管理,无需手动编程
  • 方便程序测试:提供了JUnit4支持,可以通过注解方便的测试程序
  • 方便集成各种优秀框架:Spring不排斥各种优秀开源框架,其内部提供了对各种优秀框架的直接支持,例如:Struts,Hibernate,MyBatics等
  • 降低JavaEE API的使用难度:Spring对JavaEE开发中非常难用的一些API(jdbc,JavaMail,远程调用等)提供了封装,,使这些API应用难度大大降低。

缺点:

  • Spring是一个很轻量级的框架,给人的感觉大而全
  • Spring依赖反射,反射影响性能
  • 使用门槛太高,入门Spring需要很长时间适应

相关文章:

  • 2021-12-21
  • 2021-04-07
  • 2022-12-23
  • 2021-07-18
  • 2021-09-24
  • 2021-10-15
  • 2022-01-04
猜你喜欢
  • 2022-12-23
  • 2021-10-02
  • 2021-12-17
  • 2021-05-30
  • 2021-09-12
  • 2021-11-26
  • 2022-12-23
相关资源
相似解决方案