Sping的一些问题

前言:

                  在编程前段时间做项目的时候运用到了这两个比较火的框架,使用过后还是发现两套框架的不同之处的,具体呢还是看下面的详解,首先呢ssh是struts2、spring、hibernate这三个框架,而ssm是springMVC、spring、mybatis这个三个框架,大家都可以看出来,两套框架都使用到了spring,那我们就先来讲解一下spring这个框架

1.spring

             1.1 spring是什么及spring的优点

                          1.1.1 Spring是一个轻量级的IOC和AOP容器框架。

                          1.1.2 Spring是非侵入式的基于Spring开发的应用一般不依赖于Spring的类。

                          1.1.3 Spring是个容器,因为它包含且管理应用对象的生命周期和配置,比如对象的创建,销毁,回调等。

                          1.1.4 Spring提供了对事物的管理。

                          1.1.5 Spring对主流框架提供了很好的集成支持,比如和hibernate和SpringMVC等框架的集成。

            1.2  Sping的IOC和AOP

                          1.2.1 IOC:Invert of control,控制反转,也成为DI(原来注入)。就是把原来依赖对象的创建和维护交给了Spring容器来管理,应用程序本身不需要负责依赖的创建和维护,其实简单来说就是把原本应该我们去new对象这个操作转到Spring容器中执行。

                                  AOP:面向切面编程,本质就是拦截器,比如项目中的事物和日志就很好的体现了AOP。比如:操作数据库的增删改时都需要开启事物,增删改之后都需要提交事物,这样我们就可以写一个拦截器,底层就是采用动态代理实现前置通知和后置通知,在前置通知开启事物,在后置通知关闭事物,在spring.xml中配置即可,Spring事物的底层管理用到了AOP

            1.3 Spring注入的方式有哪些

                          1.3.1 setter注入:公开的set方法注入

                          1.3.2 构造注入:有参构造方法注入

                          1.3.2 接口注入

            1.4 如何定义Bean的作用域,作用域之间的区别

                          定义bean 的作用域,在<bean/>标签中与一个scope的属性,取值有5个

                         1.4.1 singleton:单例模式(默认),也就是说这种范围不管接收到多少请求,每个容器中只有一盒bean 的实例。

                         1.4.2 prototype:原型模式(多例模式),与单例模式相反。

                         1.4.3 request:针对每一个HTTP请求都会产生一个新的bean,并且该bean只在当前的request内有效,请求完成后,bean会失效并被垃圾回收器回收。

                         1.4.4 session:针对一个HTTP请求都会产生一个新的bean,并且该bean只在当前session中有效,session过期后,bean也会随之失效。

                         1.4.5 Global session:global session与portlet应用相关,当你应用部署在Portlet容器中工作时,如果你想让所有的portlet公用全局变量,就需要储存在global session中。

            1.5 什么是Spring的自动装配?并解释一下自动装配的各种模式。

                        Spring的自动装配:无序在Spring配置文件中描述javabean之间依赖关系,IOC容器会自动建立javabean之间的关联关系。

                       1.5.1 根据属性名称自动装配,autowire="byName"

                       1.5.2 根据属性类型自动装配,autowire="byType"

                       1.5.1 根据构造方法自动装配,autowire="construtor"

           1.6 在spring中注入null和空字符

                       1.6.1 注入null:<property name="name"><null/></property>

                                注入空字符:<property name="name" value=""></property>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值