一、首先我们在Eclipse下新建一个Java项目,在Java项目下引入所需要的Spring的jar文件,如下图:
二、在项目下的src下新建一个beans.xml文件,文件内的代码如下:
- <!—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的实例 -->
- <bean id="greetingServiceBean" class="cn.csdn.hr.service.GreetingServiceBean">
- <!-- propertybean中的属性值 -->
- <property name="greeting">
- <!-属性的值-->
- <value>你好!</value>
- </property>
- </bean>
- </beans>
三、在src下创建一个接口GreetingService,在此接口中封装一个方法。
- public void sayGeeting();
四、 我们要创建一个实现GreetingService该接口的实体类GreetingServiceBean。
(1)在此实体类中,首先封装一个属性
代码:
- private String greeting;
(2)将此属性实现它的set()方法,主要用于bean配置文件中 property属性 name的名称与greeting一致 自动通过set方法注入,依赖注入
代码:
- publicvoid setGreeting(String greeting) {
- this.greeting = greeting;
- }
(3)还要实现此实体类的无参构造器,toString()方法用来打印结果的输出。
下面是GreetingService.java类中的完整代码:
- publicclass GreetingServiceBean implements GreetingService{
- // 属性
- private String greeting;
- /*bean配置文件中 property属性 name的名称与greeting一致 自动通过set方法注入
- * 依赖注入*/
- publicvoid setGreeting(String greeting) {
- this.greeting = greeting;
- }
- public GreetingServiceBean() {
- super();
- System.out.println("-----------------------------------实例化");
- }
- @Override
- publicvoid sayGeeting() {
- System.out.println(greeting);
- }
- }
五、接下来我们要写一个测试类。
- import static org.junit.Assert.*;
- import org.junit.Test;
- import org.springframework.beans.factory.BeanFactory;
- import org.springframework.beans.factory.xml.XmlBeanFactory;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- import org.springframework.core.io.ClassPathResource;
- import org.springframework.core.io.FileSystemResource;
- import org.springframework.core.io.Resource;
- import cn.csdn.hr.service.GreetingService;
- import cn.csdn.hr.service.GreetingServiceBean;
- public class AppMain {
- @Test
- public void test() {
- /*
- * GreetingService greetingService = new GreetingServiceBean();
- * greetingService.sayGeeting();
- */
- // 依赖的资源文件
- Resource resource = new ClassPathResource("applicationContext.xml");//FileSystemResource("applicationContext.xml");
- // spring的核心容器 BeanFactory
- // 采用三种方式
- /**
- * XmlBeanFactory
- * ---->XmlBeanFactory(resource)
- * --->ClassPathXmlApplicationContext
- */
- BeanFactory beanFactory = new XmlBeanFactory(resource);
- // 获取BeanFactory创建的bean对象
- GreetingService greetingService = (GreetingService) beanFactory
- .getBean("greetingServiceBean");// 资源文件中 classbean的id名称
- //GreetingService接口
- //beanFactory.getBean(""); 实现类的对象 面向接口编程
- //使用bean的实例
- greetingService.sayGeeting();
- }
- @Test
- public void test1() {
- /*
- * GreetingService greetingService = new GreetingServiceBean();
- * greetingService.sayGeeting();
- */
- // 采用三种方式
- /**XmlBeanFactory ClassPathXmlApplicationContext,
- * XmlWebApplicationContext
- */
- BeanFactory beanFactory = new ClassPathXmlApplicationContext("applicationContext.xml");
- // 获取BeanFactory创建的bean对象
- GreetingService greetingService = (GreetingService) beanFactory
- .getBean("greetingServiceBean");// 资源文件中 classbean的id名称
- //GreetingService接口
- //beanFactory.getBean(""); 实现类的对象 面向接口编程
- //使用bean的实例
- greetingService.sayGeeting();
- }
- }