Java Spring 的DI的笔记

IoC及DI的的笔记

在JAVA中用new来建立新物件。

Cat cat=new Cat();cat.play();Dog dog=new Dog();dog.play();

若用spring 改写变成

BeanFactory beanFactory = new XmlBeanFactory(new FileSystemResource("D://applicationContext.xml"));Cat cat =(Cat)beanFactory.bean("Cat");Dog dog =(Dog)beanFactory.bean("Dog");

new Cat()及new Dog()就变成在xml中宣告

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="Cat" class="cource.xxx.Cat" /><bean id="Dog" class="cource.xxx.Dog" /></beans>

有点像是所有的宣告,都在设定档中完成,java档就是专心写商业逻辑。

但程式是似乎没有变的更简单,还要转一圈去设定,是不是比较麻烦呀!!

但在java页面中有时要做很多设定的类别一多起来,那java的页面就变的比较複杂。

Cat cat=new Cat();cat.setShoe("爱迪达");cat.setClothes("馆长牌");cat.setWeight("78");....

但若这些宣告放在xml中,.java档就会变的比较乾净。

那你会不会说,那xml还是要设定呀,这样没有比较省工。还是要花费相同的力气。

但如果多个地方都要用该类别,那设定在xml就只要设定一次,.java档就不用每一次要宣告一次,每一页都做一堆设定。

就好像是JDBC的设定,将资料来设定在Spring中,在java页面中就不用每一页都要设定。就省下很多时间。

<bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="org.apache.derby.jdbc.ClientDriver" /><property name="url" value="jdbc:derby://localhost:1527/myDB" /><property name="username" value="root" /><property name="password" value="sa" /></bean>

而DI及IOC就可以让你只要设定在xml,之后就不用在java档中一直设定,只要接受该物件注入即可 。

另外,如果你在程式中要替换某个class,把它更新到更好的版本。那在过去要每个文件检查是否有使用该class,而在spring中,只要到xml去替换就行了。

注:后来也开发了只设定定在java档中的设定。一般都称为config。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章