【Spring】简单入门实例

  从一个简单的例子入门,轻松了解依赖注入。
假设我们开发了一套管理系统,每收到一笔订单后,系统调用notifyservice.sendMessage给客户发送订单成功邮件。有天老板(也有可能是产品)突然要改个需求:将原来的给客户发送邮件功能改为发手机短信。你无需改动任何代码,只是在配置中将“发送器”配置成“手机发送器”,就能完成工作。

 一、创建工程

这里我们选择选择普通的Java Project。


 二、添加Spring及相关组件

点击下载相关jar包

 三、写业务逻辑

接口 NotifyService.java

public interface NotifyService {
     void sendMessage(String message);
}


实现 NotifyServiceByCellPhoneImpl.java

public class NotifyServiceByCellPhoneImpl implements NotifyService{
        @Override
        public void sendMessage(String message) {
            System.out.println("发送手机短信:"+message);
        }
    }

实现 NotifyServiceByWeixinImpl.java

public class NotifyServiceByWeixinImpl implements NotifyService{
        @Override
        public void sendMessage(String message) {
            System.out.println("发送微信短信:"+message);
        }
    }

订单类 Order.java

 public class Order {
        private NotifyService notifyservice;
        /*notifyservice不是在内部new()出来的,
        而是通过指定方法传进来的,也就是我们说的注入。这里是setter注入*/
        public void setNotifyservice(NotifyService notifyservice) {
            this.notifyservice = notifyservice;
        }
        public Order(){}
        public Order(NotifyService notifyservice) {
            this.notifyservice = notifyservice;
        }
        /*订单支付完成后,系统通知老板*/
        public void PaySuccess(){
            notifyservice.sendMessage("客户张铁蛋完成订单2017079657付款,共人民币:97.5元");
        }
    }

 

四、配置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.xsd">
    
    <bean id="notify" class="twm.spring.start.NotifyServiceByWeixinImpl" />
    <bean id="order" class="twm.spring.start.Order" >
        <!-- 配置注入NotifyServiceByCellPhoneImpl的实例化对象 -->
        <property name="notifyservice" ref="notify"/>
    </bean>
    </beans>

五、调用:

Test.java文件:

 public class Test {
        public static void main(String[] args) throws Exception {
            ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
            Order order=ctx.getBean("order",Order.class);
            order.PaySuccess();
        }
    }

输出:

发送微信短信:客户张铁蛋完成订单2017079657付款,共人民币:97.5元

老板如果要求我们用手机短信发送通知,我们就到配置文件beans.xml中进行修改:

  <bean id="notify" class="twm.spring.start.NotifyServiceByWeixinImpl" />

修改为

 <bean id="notify" class="twm.spring.start.NotifyServiceByCellPhoneImpl" />

再次运行输出:

发送手机短信:客户张铁蛋完成订单2017079657付款,共人民币:97.5元

转载至 http://blog.csdn.net/soonfly/article/details/68498742

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值