Spring点点滴滴—spring框架的架构

最近看了一篇很不错的文章

现在记一下心得体会。这篇文章让我这菜鸟学到很多东西。

面试时经常被问起Spring是什么,这是个很泛的问题,不同人答案不大一样。取决于个人对于这个框架的了解程度。这个问题其实可以从spring框架的架构方面去回答。Spring是由core,context,beans几大核心组件构成基本架构,并由在此基本架构上实现的上层功能(如AOP,Web,Transaction)构成的框架。

在3个基本组件中Bean组件可以说最关键的,因为Spring设计理念就是面向Bean的编程。Spring该理念让我们的编程变得更简单舒服,我们对象的依赖关系可以通过使用配置文件来管理,这就是它的依赖注入机制。对象的这种关系存放于Ioc容器中管理。这里注入的意思就是:一个对象通过spring配置引入另一个对象。

在这里又发现一个问题:我们在代码里面不是已经把另一个对象的包给导入了吗?比如TestService 内想使用 TestDao这个类,那在TestService内就已经先导入这个类呀。但是实际情况是,如果不在Spring里配置,把TestDao注入TestService 则程序执行不了。为什么呢?(以下是我的分析,不一定正确,如果错了请务必帮忙指正,谢谢):因为我们的TestDao类已经交给了Spring托管,项目部署的时候就会自动创建该类的一个备份,在Spring中配置注入就会自动在TestService中初始化这个TestDao。只是在代码中导入TestDao是不够的,因为Dao层涉及到对数据库的操作,需要用到Spring中的Transaction来管理。

再介绍下其他两个基本组件Core,,Context。Context读取我们的配置文件,并解析各个Bean中的关系,生成Bean的实体并存放在Ioc容器中。ApplicationContext是Context的顶级父类。在代码中可通过这个父类来获取Bean。

如:

public ApplicationContext context = new FileSystemXmlApplicationContext(“WebRoot/WEB-INF/applicationContext.xml”);public FollowService service = (FollowService)context.getBean(“FollowService”);在开始时却总是不厌其烦地渗透入生活的缝隙,

Spring点点滴滴—spring框架的架构

相关文章:

你感兴趣的文章:

标签云: