欢迎来到天天文库
浏览记录
ID:40711647
大小:856.28 KB
页数:10页
时间:2019-08-06
《Spring简单入门实例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一、在Eclipse中开发我的第一个Spring应用1.一个普通的java程序使用Spring框架,我使用的Spring版本是3.2.3,lib目录下面提供了很多jar包,这里我只是选取了需要用到的jar包2.输出Spring容器3.控制台输出结果4.新建一个JavaBean-Person类5.修改applicationContext.xml文件,将Person类部署成Spring容器中的Bean6.从Spring容器中获取Person类的实例,调用实例的info方法7.控制台输出结果总结:看起来相当神奇,Spring容器不仅可以创建Person实例,而且该Pers
2、on实例的name属性有了属性值。这一切,都得益于Spring容器的作用,Spring容器根据配置文件信息,负责创建Person实例,并为Person实例设置属性值-这种由Spring容器为对象设置属性的方式被称为控制反转(InversionofControl,IOC)二、Spring的核心机制:依赖注入 使用依赖注入,不仅可以为Bean注入普通的属性值,还可以注入其他Bean的引用。通过这种依赖注入,JavaEE应用中的各种组件不需要以硬编码方式耦合在一起,甚至无需使用工厂模式。依赖注入达到的效果,非常类似于传说中的“共产主义”,当某个java实例需要其他ja
3、va实例时,系统自动提供需要的实例,无需程序显示获取。 可见,依赖注入是目前最优秀的解耦方式。依赖注入让Spring的Bean以配置文件组织在一起,而不是以硬编码的方式耦合在一起。 依赖注入(DependencyInjection):在依赖注入的模式下,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入。 不管是依赖注入,还是控制反转,都说明Spring采用动态、灵活的方式来管理各种对象。对象与对象之间的具体实现互相透明。 依赖注入通常有两种: 1.
4、设值注入:IoC容器使用属性的setter方法来注入被依赖的实例。 2.构造注入:IoC容器使用构造器来注入被依赖的实例。1.一个设值注入的简单实例。第一步:定义两个接口,Spring推荐面向接口编程。Person接口Axe接口第二步:定义实现Person接口的类Chinese类StoneAxe类Spring的配置文件如下在配置文件中,Spring配置Bean实例通常会指定两个属性:1.id:指定该Bean的唯一标识,程序通过id属性值来访问该Bean实例。2.class:指定该Bean的实现类,此处不可再用接口,必须使用实现类,Spring容器会使用XML解析
5、器读取该属性值, 并利用反射来创建该实现类的实例。 Spring会自动接管每个定义里的元素定义,Spring会在调用无参数的构造器后,创建默认的Bean实例后,调用对应的setter方法为程序注入属性值。定义的属性值将不再由该Bean来主动设置、管理,而是接收Spring的注入。 每个Bean的id属性是该Bean的唯一标识,程序通过id属性访问Bean,Bean与Bean的依赖关系也通过id属性关联。测试类总结: 从上面这种切换可以看出,因为chinese实例与
6、具体的Axe实现类没有任何关系,chinese实例仅仅与Axe接口耦合,这就保证了chinese实例与Axe实例之间的松耦合,这也是Spring强调面向接口编程的原因。 Bean与Bean之间的依赖关系由Spring管理,Spring采用setter方法为目标Bean注入所依赖的Bean,这种方式被称为设值注入。 从上面示例程序中应该可以看出,依赖注入以配置文件管理Bean实例之间的耦合,让Bean实例之间的耦合从代码层次分离出来。依赖注入式一种优秀的解耦方式。
此文档下载收益归作者所有