spring总括

 

1.spring的模块划分, 各有什么特点?
spring模块首要有:
spring core 自定义创造布局和治本bean的办法beanfactory
spring context
上下文是一个配置文件,提供了有的在店铺劳动,在beanfactory基础上,加入了国际化,校验,调度等效果。建立在core基础之上的,首要类applactioncontext接口上边的类和办法。
spring aop
集成了面向切面的编程,提供了一种途径,可以使面向切面跟spring或者其他模块很好的举办组合。
spring dao spring 对jdbc作了望梅止渴框架的包装
spring orm
:spring对orm框架作了用空想来安慰自己层封装。orm对象关联映射:ibatis,mybatis,hibernate,jpa..等数据持久化框架可以很好的进行整合在一起类如:mybatis-spring
spring web:
spring提供了对web技术的支撑,web模块还简化了拍卖一大半呼吁以及呼吁参数绑定到成效域对象的干活。
Java,spring webmvc:spring建立在web模块之上的mvc框架
2.springMVC的劳作规律?

1.客户端请求提交到DispatcherServlet
2.由DispatcherServlet控制器查询一个或多个HandlerMapping,找遍地理请求的Controller控制层中的具体方法
3.Controller调用工作逻辑处理后,重返ModelAndView
4.DispatcherServlet询问一个或五个ViewResoler视图解析器,找到ModelAndView指定的视图
5.视图负责将结果突显到客户端

3.你使用过如何spring的笺注,各有啥样效益?

诠释的成效:1、生成文档 2 .跟踪代码信赖性 3.在编译时开展格式检查
@Component : 是具备受Spring
管理组件的通用方式,@Component申明可以放在类的头上,@Component不推荐使用。
@Controller:标识这一个类是控制器,对应表现层的Bean 寻常意义在控制层
@Autowired :读取
它可以对类成员变量、方法及构造函数举办标注,完毕机关装配的办事
注释标注在 Setter 方法上
@RequestMapping:转发
@Repository : 表示那是dao的兑现类
@Service:服务层 ,对应的事情bean层 经常意义在业务层
@ContextConfiguration:要分析的spring.xml文件
@RunWith :SpringJUnit4ClassRunner.class
@Transactional:事物处理
@Annotation:为出现编程准备
@Immutable 类是不可变的
@ThreadSafe 代表那个类是线程安全的
@NotThreadSafe代表那个类不是线程安全的
4.BeanFactory和ApplicationContxt类的分别?

BeanFactory
在条分缕析配置文件时并不会早先化对象,唯有在选取对象时(getBean())才会对该对象举行初阶化,好处是节约内存,缺点是速度比较慢。多用于移动设备的开发上。

ApplicationContext
在条分缕析配置文件时对布置文件中的所有目的都伊始化了,getBean()方法只是赢得对象的历程,好处是可以事先加载速度快,坏处是荒废内存。

5.解析spring的计划文件的主意有啥样? (ClassPathXmlApplicationContext)

1.利用ClassPathXmlApplicationContext可以从classpath中读取XML文件
2.利用ClassPathResource可以从classpath中读取XML文件
3.应用XmlWebApplicationContext读取从Web应用程序的公文架构中,指定相对地方来读取定义文件
4.利用FileSystemResource读取
5.利用FileSystemXmlApplicationContext读取
6.spring和jdbc的整合. dao
一.加载资源文件
二.安顿数据源和连接池
三.注入数据调用jdbc模板达成操作

7.spring和hibernate的整合
一.加载资源文件
二.布置数据源和连接池
三.成立SessionFactory对象(set注入数据源,设置hiberante的习性,映射元数据)
四.配置hibernate的模板
五.调用hibernate的沙盘达成操作
8.spring和mybatis的整合;
一.在mybatis.xml配置setting属性和typeAliases属性
二.在spring.xml中加载资源文件
三.布署数据源和连接池
四.在配备mybatis的sessionFactory(注入数据源,关联mybatis主配置文件,关联映射sql文件)
五.调用mybatis的SqlSessionTemplate已毕操作
9.数据库连接池的劳作规律

行使程序启动时,初阶化一定数量的数据库连接,并维护不少于最小值多少的池链接,某一个事情使用链接,并把当前链接标记成忙,用完事后放回池中,并标记为空闲。
10、谈谈spring的事务;
东西管理是有限扶助数据操作的事务性即,原子性,一致性,隔离性,持久行,即所谓的acid
Spring框架对事务管理的支持改变了传统上觉得J2EE应用须要应用服务器的见解,Spring可以将任意Java
Bean纳入事务管理, 同时Spring事务管理也不依靠特定的政报酬源。
spring提供了多少个有关事务处理的类:TransactionDefinition 事务属性定义,
包括了政工的静态属性,比如:事务传播行为、超时时间等等
TranscationStatus //代表了当前的作业,可以付出,回滚。
PlatformTransactionManager
//是spring提供的用来管理业务的基本功接口,用于实施实际的政工操作,其下促成有一个抽象类
AbstractPlatformTransactionManager。
连带的业务管理类例如DataSourceTransactionManager等都是以此抽象类的子类。
业务隔离级别:隔离级别是指多少个冒出的工作之间的隔断程度
作业的不胫而走行为是指,如果在初步当前事务之前,一个事务上下文已经存在,此时有好多拔取可以指定一个事务性方法的推行行为。所谓事务传播行为就是七个工作方法互相调用时,
事情怎么样在这个方式间传播。
spring提供的事务管理可以分成两类:编程式的和表明式的。编程式的,相比灵敏,不过再一次的代码相比较多,直接或直接使用底层持久化api;
申明式的比编程式的更灵活,申明式事务管理是因此Spring
AOP完毕的,其中的事情文告由元数据(XML或注脚)驱动。那也是我们常选用的事务管理格局。
11、表明式事务的特点及传播属性。
注明式事务的特色:
Spring的声明式事务顾名思义就是行使申明的方法来处总管务
传扬属性:选用表明的办法来处监护人务
propagation_required:协理当前工作,假使当前失去工作,就新建一个作业。那是最常见的接纳
propagation_supports:帮衬当前事情,假使当前从未有过事情,就以非事务格局实施
propagation_mandatory:支持当前业务,假诺当前尚无工作,就抛出万分
propagation_requires_new:新建事务,倘诺当前设有业务,把当下工作挂起
propagation_not_supported:以非事务方式进行操作,借使当前设有业务,就把近日事务挂起
propagation_never:?以非事务格局举办,假若当前存在工作,则抛出分外
propagation_nested:如若当前存在工作,则在嵌套事务内进行。如若当前从不事情,则展开与PROPAGATION_REQUIRED类似的操作

相关文章