Spring 框架基本理解

以下是https://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/index.html该文章的部分总结

要使用Spring框架就必须用到Spring Beans、Spring Code、Spring Context这三个包,之前自己一直不理解为什么一定要引入这三个包,通过一番查找有了一个大概的了解。

Spring Beans 

Spring Beans 主要负责Bean 的定义、Bean 的创建以及对 Bean 的解析。

Bean 的定义就是完整的描述了在 Spring 的配置文件中你定义的 <bean/> 节点中所有的信息,包括各种子节点。当 Spring 成功解析你定义的一个 <bean/> 节点后,在 Spring 的内部就被转化成 BeanDefinition 对象。以后所有的操作都是对这个对象完成的。

提问:Spring Beans 是如何解析Bean的?

Bean 的解析过程非常复杂,功能被分的很细,因为这里需要被扩展的地方很多,必须保证有足够的灵活性,以应对可能的变化。Bean 的解析主要就是对 Spring 配置文件的解析。

个人理解

个人认为Spring的解析就是Spring Beans 对每个<bean/> 节点进行扫描,获取到Bean的反射路径,然后通过反射获取.Class文件

并通过.Class文件创建对象。当我们单独使用Spring 框架的时候就会发现,代码如下所示:

public void test() {
	ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
	SomeBean someBean= (SomeBean) context.getBean("someBean");
	someBean.doSomething();
}

上面的代码首先通过ClassPathXmlApplicationContext解析beans.xml文件,并返回ApplicationContext容器对象,并通过该对象的getBean方法反射创建实体对象。

Spring Context

从上面的代码可以看出Spring Context 是Spring一个IoC容器,通过容器获取到 ApplicationContext对象,而总的来说ApplicationContext 必须要完成以下几件事:

  • 标识一个应用环境
  • 利用 BeanFactory 创建 Bean 对象
  • 保存对象关系表
  • 能够捕获各种事件

Spring Code

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值