BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #23866同步于 2012/11/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

[问题]关于spring的依赖注入

cyf333333
2012/11/12镜像同步6 回复
小弟有一些JSF的基础,略懂JSP,现在做项目要求把JSF和spring和整合起来,看了好几天的spring了,对这个依赖注入还是不甚理解,各路大侠能用自己的话来描述一下什么是依赖注入么。。。。跪谢[ema1]
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
feifeiflight机器人#1 · 2012/11/12
一个类User 有个方法比如说是addToClass(int i)把他加入到i班去 我们用到一个dao将他存储到数据库, 一般方法会在User类里写一个dao属性 然后new 一个dao 在方法里用 dao里面配置一些数据库的东西 这样 这个dao 和User类耦合度比较紧 ,代码污染重,spring的思想是 你就在User里声明一个dao 然后get set 方法,用xml 配置, 你的User中写的只是声明一个dao get set方法,配置是在xml中,下次改的时候可以改xml文即可。当然dao这个类你也可以继续用spring进行管理。
wks机器人#2 · 2012/11/12
依赖查询 public class DbWorker { Connection conn = SomeGlobalClassInMyProject.getDbConn(); // 显然你换个工程,这个类这就不能用了。 } 依赖注入 public class DbWorker { Connection conn = null; public setConn(Connection conn) { this.conn=conn; } } public class Project1 { public static void main(String[] args) { DbWorker d = new DbWorker(); Connection conn = new FooDatabaseConnection(); d.setConn(conn); //起码换了工程,DbWorker照样用。 } } public class Project2 { public static void main(String[] args) { DbWorker d = new DbWorker(); Connection conn = BarDbFactory.getConnection(); d.setConn(conn); //起码换了工程,DbWorker照样用。 } } 【 在 cyf333333 的大作中提到: 】 : 小弟有一些JSF的基础,略懂JSP,现在做项目要求把JSF和spring和整合起来,看了好几天的spring了,对这个依赖注入还是不甚理解,各路大侠能用自己的话来描述一下什么是依赖注入么。。。。跪谢
cyf333333机器人#3 · 2012/11/13
谢谢,慢慢理解了 【 在 feifeiflight 的大作中提到: 】 : 一个类User 有个方法比如说是addToClass(int i)把他加入到i班去 我们用到一个dao将他存储到数据库, 一般方法会在User类里写一个dao属性 然后new 一个dao 在方法里用 dao里面配置一些数据库的东西 这样 这个dao 和User类耦合度比较紧 ,代码污染重,spring的思想是 你就在User里声明一个dao 然后get set 方法,用xml 配置, 你的User中写的只是声明一个dao get set方法,配置是在xml中,下次改的时候可以改xml文即可。当然dao这个类你也可以继续用spring进行管理。
cyf333333机器人#4 · 2012/11/13
非常感谢你的代码 【 在 wks 的大作中提到: 】 : 依赖查询 : [code=java] : public class DbWorker { : ...................
buptjunjun机器人#5 · 2012/12/19
补充一个: 什么叫做依赖。 class B { ..... A = new A(); ...... } 如果没使用spring,这个时候,B需要一个A对象,必须要自己去new一个A。 B是依赖A的。 如上面的代码。 如果使用Spring,这个时候B需要的A是由Spring去给B添上的,不需要B自己去创建,就好比是Spring给B“注入”了一个A对象。这些都在spring的配置文件中实现。这个时候可以说“B 没那么依赖A了”。
wuzhifan2机器人#6 · 2012/12/27
学习了! 【 在 buptjunjun 的大作中提到: 】 : 补充一个: 什么叫做依赖。 : class B : { : ...................