美学原理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模块还简化了拍卖大部分告与告参数绑定到作用域对象的工作。
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类似的操作