摘要:
在使用spring框架时,可以有两种使用事务的方式,一种时编程式事务,一种是申明式事务,@Transactional注解就是申明式的。 首先,事务这个概念式数据库层面的,Spring只是基于数据库中的事务进行了扩展,以及提供了一些能让程序员更加方便操作事务的方式。 比如我们可以通过在某个方法上增加@ 阅读全文
摘要:
单例Bean不是线程安全的 Spring中Bean默认是单例模式的,框架并没有对bean进行对线程封装和处理。 如果Bean是有状态的,那就需要开发人员自己来进行线程安全的保证,最简单的办法就是改变bean的作用域,把singleton改为prototype,这样每次请求bean就相当于是new B 阅读全文
摘要:
singletion:默认,每个容器只能有一个bean的实例,单例模式由BeanFactory自身来维护。该对象的生命周期是与Spring IOC容器一致的(但在第一次被注入时才会创建) prototype:为每一个bean请求提供一个实例。在每次注入时都会创建一个新的对象 request:bean 阅读全文
摘要:
1、解析类得到BeanDefinition (Spring创建对象不是使用程序员定义的class文件,而是使用的BeanDefination) 2、如果有多个构造方法,则需要推断构造方法 3、确定好构造方法后,进行实例化得到一个对象。(原始对象) 4、填充属性,依赖注入。 5、回调Aware,比如B 阅读全文
摘要:
ApplicationContext是BeanFactory的子接口 ApplicationContext 提供了更完整的功能: 继承MessageSource,因此支持国际化 统一的资源文件访问方式 提供在监听器中注册bean的事件 同时加载多个配置文件 载入多个(有继承关系)上下文,使得每一个上 阅读全文
摘要:
系统是由许多不同的组件所组成,每一个组件各负责一块特定功能。除了实现自身核心功能之外,这些组件还经常承担着额外的职责。例如日志、事务管理和安全这样的核心服务经常融入到自身具有核心业务逻辑的组件中去。这些系统服务经常被称为横切关注点,因为他们会跨越系统的多个组件。 当我们需要为分散的对象引入公共行为的 阅读全文
摘要:
IOC有三点:容器概念、控制反转、依赖注入。 IOC容器 实际上就是一个map(key,value),里面存放的时各种对象(在xml里配置的bean节点、@repository、@service、@controller、@component),在项目启动的时候或读取配置文件里面的bean节点,根据全 阅读全文