博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring学习笔记(二) 初探Spring
阅读量:5242 次
发布时间:2019-06-14

本文共 1864 字,大约阅读时间需要 6 分钟。

版权声明

  笔记出自《Spring 开发指南》一书。

Spring 初探

  前面我们简单介绍了 Spring 的基本组件和功能,现在我们来看一个简单示例:

  1. Person接口
    Person接口定义了一个 say 的方法,在其不同的实现中实现了各自的 say 逻辑。
    1 /**2  * @author X3  */4 public interface Person {5 6     public void say();7 }

     

  2. Person接口的两个实现
    1 /** 2  * @author X 3  */ 4 public class Man implements Person { 5  6     private String word; 7  8     public String getWord() { 9         return word;10     }11 12     public void setWord(String word) {13         System.out.println("执行了Set");14         this.word = word;15     }16 17     @Override18     public void say() {19         System.out.println("一个男人委屈的说:" + word);20     }21 }
    1 /** 2  * @author X 3  */ 4 public class Woman implements Person { 5  6     private String word; 7  8     public String getWord() { 9         return word;10     }11 12     public void setWord(String word) {13         this.word = word;14     }15 16     @Override17     public void say() {18         System.out.println("一个女人委屈的说:" + word);19     }20 }

     

  3. Spring配置文件(bean.xml)
    1 
    2
    5 6
    7
    8
    一百块钱都不给我还打我
    9
    10
    11

     

  4. 调用代码
    1 import org.springframework.context.ApplicationContext; 2 import org.springframework.context.support.FileSystemXmlApplicationContext; 3  4 /** 5  * @author X 6  */ 7 public class Run { 8     public static void main(String[] args) { 9 10         ApplicationContext ac = new FileSystemXmlApplicationContext("D:\\Study\\study-spring\\src\\main\\resources\\bean.xml");11 12         Person action = (Person) ac.getBean("TheAction");13         action.say();14     }15 }

    运行结果如下图所示:

     

  怎么样,是不是很简单?通过这个简单的例子,我们可以看到,我们在实例化Person的时候,根本无需知道它是如何实现的。在编码中,我们只需要去关心接口就可以了,而无需关心它的创建过程,因为这件事 Spring 已经帮我们做掉了。如果你想了解更多,推荐你去了解控制反转(IOC)和依赖注入(DI)的概念。

 

转载于:https://www.cnblogs.com/krockey/p/4127757.html

你可能感兴趣的文章
编程题-年终奖
查看>>
centos下的hadoop服务器的配置
查看>>
工具的分离与联系
查看>>
python爬虫学习之使用XPath解析开奖网站
查看>>
[转载] 山楂树之恋——封面及说明
查看>>
npm
查看>>
菜单布局记录篇
查看>>
基于fiddler来模拟限速
查看>>
AVL平衡二叉树总结
查看>>
【故障公告】10:30-10:45 左右 docker swarm 集群节点问题引发故障
查看>>
[致歉]博客后台的404故障以及主站遭遇的流量攻击
查看>>
一道前端面试题引发的思考
查看>>
Cutting (暴力 + 滚动哈希判字符串匹配)
查看>>
AngularJS
查看>>
ubuntu下mysql-python模块的安装
查看>>
应用最广的模式——单例模式
查看>>
修改设置中数据流量小部件开关跟设置中流量开关同步
查看>>
ubuntu下安装php+nginx+mysql
查看>>
开灯问题
查看>>
素数距离问题
查看>>