Spring第一个案例

一、首先我们在Eclipse下新建一个Java项目,在Java项目下引入所需要的Springjar文件,如下图:

二、在项目下的src下新建一个beans.xml文件,文件内的代码如下:

  1. <!—xml头文件-->
  2. <?xml version="1.0" encoding="UTF-8"?>
  3. <beans xmlns="http://www.springframework.org/schema/beans"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
  7. <!-- 配置bean的实例 -->
  8. <bean id="greetingServiceBean" class="cn.csdn.hr.service.GreetingServiceBean">
  9. <!-- propertybean中的属性值 -->
  10. <property name="greeting">
  11. <!-属性的值-->
  12. <value>你好!</value>
  13. </property>
  14. </bean>
  15. </beans>


三、在src下创建一个接口GreetingService,在此接口中封装一个方法。

  1. public void sayGeeting();


四、 我们要创建一个实现GreetingService该接口的实体类GreetingServiceBean

1)在此实体类中,首先封装一个属性

代码:

  1. private String greeting;


2)将此属性实现它的set()方法,主要用于bean配置文件中 property属性 name的名称与greeting一致 自动通过set方法注入,依赖注入

代码:

  1. publicvoid setGreeting(String greeting) {
  2. this.greeting = greeting;
  3. }


3)还要实现此实体类的无参构造器,toString()方法用来打印结果的输出。

下面是GreetingService.java类中的完整代码:

  1. publicclass GreetingServiceBean implements GreetingService{
  2. // 属性
  3. private String greeting;
  4. /*bean配置文件中 property属性 name的名称与greeting一致 自动通过set方法注入
  5. * 依赖注入*/
  6. publicvoid setGreeting(String greeting) {
  7. this.greeting = greeting;
  8. }
  9. public GreetingServiceBean() {
  10. super();
  11. System.out.println("-----------------------------------实例化");
  12. }
  13. @Override
  14. publicvoid sayGeeting() {
  15. System.out.println(greeting);
  16. }
  17. }


五、接下来我们要写一个测试类。

  1. import static org.junit.Assert.*;
  2. import org.junit.Test;
  3. import org.springframework.beans.factory.BeanFactory;
  4. import org.springframework.beans.factory.xml.XmlBeanFactory;
  5. import org.springframework.context.support.ClassPathXmlApplicationContext;
  6. import org.springframework.core.io.ClassPathResource;
  7. import org.springframework.core.io.FileSystemResource;
  8. import org.springframework.core.io.Resource;
  9. import cn.csdn.hr.service.GreetingService;
  10. import cn.csdn.hr.service.GreetingServiceBean;
  11. public class AppMain {
  12. @Test
  13. public void test() {
  14. /*
  15. * GreetingService greetingService = new GreetingServiceBean();
  16. * greetingService.sayGeeting();
  17. */
  18. // 依赖的资源文件
  19. Resource resource = new ClassPathResource("applicationContext.xml");//FileSystemResource("applicationContext.xml");
  20. // spring的核心容器 BeanFactory
  21. // 采用三种方式
  22. /**
  23. * XmlBeanFactory
  24. * ---->XmlBeanFactory(resource)
  25. * --->ClassPathXmlApplicationContext
  26. */
  27. BeanFactory beanFactory = new XmlBeanFactory(resource);
  28. // 获取BeanFactory创建的bean对象
  29. GreetingService greetingService = (GreetingService) beanFactory
  30. .getBean("greetingServiceBean");// 资源文件中 classbean的id名称
  31. //GreetingService接口
  32. //beanFactory.getBean(""); 实现类的对象 面向接口编程
  33. //使用bean的实例
  34. greetingService.sayGeeting();
  35. }
  36. @Test
  37. public void test1() {
  38. /*
  39. * GreetingService greetingService = new GreetingServiceBean();
  40. * greetingService.sayGeeting();
  41. */
  42. // 采用三种方式
  43. /**XmlBeanFactory ClassPathXmlApplicationContext,
  44. * XmlWebApplicationContext
  45. */
  46. BeanFactory beanFactory = new ClassPathXmlApplicationContext("applicationContext.xml");
  47. // 获取BeanFactory创建的bean对象
  48. GreetingService greetingService = (GreetingService) beanFactory
  49. .getBean("greetingServiceBean");// 资源文件中 classbean的id名称
  50. //GreetingService接口
  51. //beanFactory.getBean(""); 实现类的对象 面向接口编程
  52. //使用bean的实例
  53. greetingService.sayGeeting();
  54. }
  55. }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值