spring2.5 学习笔记 第6页 共46页
实现的功能:当类初始化时, 一、 程序会根据此配置文件初始化文件所有的bean元素所代表的类,放入一个容器中(使用Map),然后在需要时,会根据ID值,取出这个对象; 1、 代码: public class ClassPathXmlApplicationContext implements BeanFactory { private Map
spring2.5 学习笔记 第7页 共46页
Element root=doc.getRootElement(); //获取根元素 List list=root.getChildren(\);//取名字为disk的所有元素 for(int i=0;i
BeanFactory接口代码: spring2.5 学习笔记 第8页 共46页
public interface BeanFactory { } public Object getBean(String name); 第四课:搭建sping的运行环境
一、 建立一个新的项目
a) b)
建立新的项目; 建立需要的bean类
二、 建立spring的配置文件
你可以在spring文件中复制代码
可以建立一个User Library
搭建spring环境基本的包:spring.jar和commons-logging.jar
四、 测试代码:
public void testAdd_3() throws Exception { } BeanFactory factory = new ClassPathXmlApplicationContext(\); UserService service = (UserService)factory.getBean(\); User u = new User(); service.add(u); 注意:这里使用的ClassPathXmlApplicationContext和BeanFactory是spring的,如下: import org.springframework.beans.factory.BeanFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; spring2.5 学习笔记 第9页 共46页
五、 注意接口的使用:
ClassPathXmlApplicationContext类实现了ApplicationContext接口,而ApplicationContext接口又实现了BeanFactory接口,这样BeanFactory是根上的接口。一般建议使用ApplicationContext接口,因为: 1、BeanFactory:只是完成Bean工厂的基本功能,不能完成bean的生命周期 2、ApplicationContext:除了完成bean工厂的基本功能外,还完成的其它的附加功能(比如:bean的生命周期),也就是功能更强大 这样上面的代码就是 } ApplicationContext factory = new ClassPathXmlApplicationContext(\); UserService service = (UserService)factory.getBean(\); User u = new User(); service.add(u); public void testAdd_3() throws Exception { 第五课:IOC(DI)配置及应用
一、 什么是IOC、DI
IOC: Inversion of Control控制反转:原来类的一些成员属性(例如UserService中的userDao成员属性)是由当前类(UserService)自己控制,现在不是由当前类(UserService)自己控制,而是由容器(运行环境上下文、Spring)帮我们来控制。
还是一种说法:原来我们自己控制是控制实现,而现在Spring是利用接口来控制的。所以我们由原来控制实现转为springg现在来控制接口(向上反转)
作用:实例化具体的bean
动态装配bean
(本来是由我来控制的,现在我交给容器来控制。)
DI:Dependency Injection依赖注入:一些成员属性(例如UserService中的userDao成员属性) 依赖Spring容器来注入 好处:偶合性相对来降低了;另外,注入是使用配置文件来实现,这样修改来非常的方便.
DI与IOC相对来说 是一样的概念。
二、 编辑xml文件时,没有提示
1、 window – preferences – myeclipse – Files and Editing - xml – xml catalog 2、 add按钮
i. ii. iii. iv.
Location: D:\\share\\0900_Spring\\soft\\spring-framework-2.5.6\\dist\\resources\\spring-beans-2.5.xsd URI: Key:
file:///D:/share/0900_Spring/soft/spring-framework-2.5.6/dist/resources/spring-beans-2.5.xsd
Key Type: Schema Location
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
三、 注入类型(Injecting dependencies)
1、 setter(重要)
2、 构造方法(使用的非常少) 3、 接口注入(可以忘记)
(一) setter注入类型Setter Injection } spring配置文件如下: spring2.5 学习笔记 第10页 共46页
就是在bean中使用setXXX方法进行注入来 在bean类中,成员属性需要setXXX方法如下: private UserDao userDao = new UserDaoImpl(); public UserDao getUserDao() { } public void setUserDao(UserDao userDao) { } public void add(User u){ userDao.save(u);} this.userDao = userDao; return userDao; public class UserService { 注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: