Spring2.5学习1.1_bean配置及其Spring容器的实例化
2015-05-28 11:05
302 查看
Spring是一个开源的控制反转(Inversion of Control,IoC)和面向切面(AOP)的容器框架,它的主要目的是简化企业开发。
下面来介绍Spring容器的实例化
所需jar文件:
spring.jar
commons-logging.jar
实例化Spring容器常用的两种方式
方法一:在类路径下来寻找配置文件来实例化容器
ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[]{"beans.xml"});
方法二:在文件系统路径下寻找配置文件来实例化容器
ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[]{"d:\\beans.xml"});
第二种方式测试时可以用,但是正式生产环境下不可取,因为文件系统路径会不一致。
说明:Spring的配置文件可以有多个,可以通过String数组来实现。
接下来用方法1来实现Spring容器的实例化,用到单元测试:
ApplicationContext 只是一个接口,通过接口来引用Spring容器的实例类 ClassPathXmlApplicationContext
Spring容器有很多接口,可以通过任何一个接口来引用它的实例类。
ClassPathXmlApplicationContext的构造方法中,可以直接接受一个String类型的参数,当只有一个配置文件时,可以不用数组。
用Spring容器后,可以将业务bean直接交给Spring容器来管理。
面向接口的编程~
SpringTest.java JunitTest类
bean的ID属性唯一,但是不能包含特殊字符,如果含有特殊字符可以使用name属性。建议bean取名时,第一个字母小写。
class属性说明我们要交给Spring容器来管理的bean,配置以后,这个bean就会由Spring容器来创建,我们用到该bean时,只需要用getBean("bean名称")方法从Spring容器来获取。
beans.xml
PersonServiceBean.java 实现类
PersonService.java,从PersonServiceBean.java抽取的接口
建一个Java工程,将相应代码粘贴即可~
结果:
下面来介绍Spring容器的实例化
所需jar文件:
spring.jar
commons-logging.jar
实例化Spring容器常用的两种方式
方法一:在类路径下来寻找配置文件来实例化容器
ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[]{"beans.xml"});
方法二:在文件系统路径下寻找配置文件来实例化容器
ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[]{"d:\\beans.xml"});
第二种方式测试时可以用,但是正式生产环境下不可取,因为文件系统路径会不一致。
说明:Spring的配置文件可以有多个,可以通过String数组来实现。
接下来用方法1来实现Spring容器的实例化,用到单元测试:
ApplicationContext 只是一个接口,通过接口来引用Spring容器的实例类 ClassPathXmlApplicationContext
Spring容器有很多接口,可以通过任何一个接口来引用它的实例类。
ClassPathXmlApplicationContext的构造方法中,可以直接接受一个String类型的参数,当只有一个配置文件时,可以不用数组。
用Spring容器后,可以将业务bean直接交给Spring容器来管理。
面向接口的编程~
SpringTest.java JunitTest类
package junit.test; import org.junit.BeforeClass; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import xjj.service.PersonService; public class SpringTest { @BeforeClass public static void setUpBeforeClass() throws Exception { } @Test public void instanceSpring(){ ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); PersonService personService = (PersonService)ctx.getBean("personService"); // 获取bean之后可以用接口调用bean的方法 personService.save(); } }
bean的ID属性唯一,但是不能包含特殊字符,如果含有特殊字符可以使用name属性。建议bean取名时,第一个字母小写。
class属性说明我们要交给Spring容器来管理的bean,配置以后,这个bean就会由Spring容器来创建,我们用到该bean时,只需要用getBean("bean名称")方法从Spring容器来获取。
beans.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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="personService" class="xjj.service.impl.PersonServiceBean"></bean> </beans>
PersonServiceBean.java 实现类
package xjj.service.impl; import xjj.service.PersonService; public class PersonServiceBean implements PersonService { @Override public void save(){ System.out.println("我是save()方法"); } }
PersonService.java,从PersonServiceBean.java抽取的接口
package xjj.service; public interface PersonService { public abstract void save(); }
建一个Java工程,将相应代码粘贴即可~
结果:
相关文章推荐
- Spring2.5学习1.4_bean的作用域及其实例化时期
- Spring2.5学习1.2_模拟Spring容器对bean进行实例化
- spring学习(二)—spring 的bean的实例化方式(通过配置文件)
- [原创]java WEB学习笔记101:Spring学习---Spring Bean配置:IOC容器中bean的声明周期,Bean 后置处理器
- Spring学习笔记---2.1-IOC容器解析Bean配置信息
- 【spring源码学习】spring的IOC容器之自定义xml配置标签扩展namspaceHandler向IOC容器中注册bean
- Spring学习记录(二)---容器和bean属性配置
- Spring2.5学习1.3_三种实例化bean的方式
- spring学习教程7-spring容器创建bean对象的方式以及如何处理多个spring配置文件
- [原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间
- Spring学习-06:IOC容器装配Bean(xml配置方式)详解
- Spring学习--实现 FactoryBean 接口在 Spring IOC 容器中配置 Bean
- 通过DefaultListableBeanFactory加载.xml配置文件学习Spring-IoC容器注册/加载bean的机制(源码走读)
- Spring2.5学习笔记1-控制反转-DI容器配置元数据方式
- Spring2.5学习3.4_让Spring自动扫描和管理Bean
- Spring4 学习系列之——基于Bean的xml配置
- spring学习-2-配置bean
- spring学习十一 通过注解配置bean
- Spring学习笔记之通过注解配置Bean(2)
- Strategy 策略模式 在 Spring 开发中的应用 包括事务管理,日志管理(logger),IoC容器根据bean定义的内容实例化等