Spring是什么?
它的核心有两大类:ioc和aop。
Ioc控制反转,也称DI(依赖注入)它使我的创建对象可以不用去NEW,而是交给spring自动产生,它是利用JAVA的反射机制,就是在程序运行的过程中创建对象spring就是根据applicationContext.xml的配置,动态的创建对象,或调用对象的方法。Spring的目标就是使对象和象之间的关系不用代码实现,而是通过配置文件实现。
Aop面向切面编程,它和面向对象编程的关注点不同,面向对象编程的关注点是程序的核心业务,而aop它横切关注点,它关注的是非核心业务,一些公共的服务例如日志记录、事务管理、持久性操作等,它把这些操作进行模块化,把它们看成一些方面来和核心业务一起组合使用来完善一个功能。
Sping事务处理?什么是事务?
Spring的事务分为编程式事务和声明式事务,通常使用声明式事务。
事务是对一系列对数据库的操作进行统一的提交回滚,这一系列的操作要么全部提交成功否则里面有一条操作出现异常它就会回滚之前的所有操作,这样保持了事务的原子性。
Spring的IOC有三种注入方式如下
第一是根据属性注入,也叫set方法注入;
第二种是根据构造方法进行注入;
第三种是根据注解进行注入。
为什么使用Spring?
- 降低组件之间的耦合度,实现各层之间的解耦
- 可以使用容器提供的众多服务。
如:
–事务管理服务
–JMS
–Spring core核心服务
–持久化服务
–其他 - 提供了单例模式支持。开发人员不需要自己编写实现代码
- 提供了AOP技术。实现如:权限拦截,运行监控等功能
- 提供了众多的辅助类。如JDBC Template,HIbernate Template
- 对主流的应用框架提供了集成支持。集成Struts,JPA,Hibernate
- Spring并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部