Spring的主要功能有哪些

Spring是什么

Spring是一个开源的控制反转(Inversion of Control, IoC)和面向切面(AOP)的容器框架,它的主要目的是简化企业开发。

所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。
为代码解耦,降低代码间的耦合度,就是让对象和对象之间关系不是使用代码关联,而是通过配置来说明。

所谓依赖注入(Dependency Injection)就是指,在运行期,由外部容器动态地将依赖对象注入到组件中。

二、为什么要使用Spring

1,降低组件直接的耦合度,实现软件各层之间的解耦。

2,可以使用容器提供的众多服务,如事务管理服务、消息服务等等。当我们使用容器管理事务时,开发人员就不再需要手工控制事务,也不需要处理复杂的事务传播。

3,容器提供单例模式支持,开发人员不再需要自己编写实现代码。

4,容器提供了AOP技术,利用它很容易实现如权限拦截、运行期监控等功能。

5、容器提供的众多辅助类,使用这些类能够加快应用的开发,如JdbcTemplate、HibernateTemplate。

6、Spring对于主流的应用框架提供了集成支持,如:集成Hibernate、JPA、Struts等,这样更便于应用的开发。
 

应用轻量级与重量级的划分:

对于Spring容器,它提供了很多服务,但这些服务并不是默认为应用打开的,应用需要某种服务,还需要指明使用该服务,

如果应用使用的服务很少,如只使用了spring核心服务,那么我们可以认为此时应用属于轻量级的,如果应用使用了spring提供的大部分服务,这时应用就属于重量级。
 

Spring bean实例化的时机

scope为默认值(singleton)的情况下,在容器实例化的时候,会对bean进行实例化。

可以通过设置lazy-init="true",延迟bean的初始化,即容器实例化的时候不进行bean的初始化,而是getBean的时候才进行初始化。建议不要设置为true,因为设置为true只有运行期(即调用getBean的时候)才能发现错误,默认在启动容器的

scope=“prototype”的情况下,在容器实例化的时候,不会对bean进行实例化,而是调用getBean方法的时候,才会实例化bean。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值