Spring简单实例
来源:互联网 发布:淘宝店铺流量突然为零 编辑:程序博客网 时间:2024/05/23 20:51
今天来学习Spring,重点有四
①IoC(Inverse of Control)控制反转:指一个对象获取它所依赖对象的引用,这个责任被反转,由容器来帮助我们得到这个引用。
②DI(Dependency Injection)依赖注入:对象之间的依赖关系由Bean对象自己来处理,这样可以使得类之间达到更高层次的松耦合。
③面向接口编程:遵循"开闭原则",对于修改是关闭的,对于扩展是开放的。
④AOP(Aspect Oriant Programming)面向切面编程:弥补了面向对象编程的不足。
我们直接写个小例子,在例子中对此四点加以分析。
开发工具:eclipse for Jee,JDK1.6,Spring2.0。
首先引入jar包,spring.jar,commons-logging.jar,cglib-nodep-2.1.3.jar,aspectjrt.jar,aspectjweaver.jar。
新建工程,工程名Spring_base(任意),src下新建包,com.myPackage,src下新建bean.xml作为spring的配置文件。
首先建立老师类,接口名ITeacher,其中放入一个老师的方法teacherMethod(),代码如下:
实现类类名:Teacher,代码如下:
学生类:接口名IStudent,代码如下:
学生实现类,类名Student,代码如下:
学生类中引用了生日类,生日类类名:Birthday,代码如下:
老师和学生类中都引用到了BaseTemplate,这个类抽离了学生类和老师类中都要用到的共通属性,为了表示bean定义的继承关系而写,接口名:IBaseTemplate,代码如下:
实现类类名:BaseTemplate,代码如下:
然后建立面向切面编程的类,类名AOP,代码如下:
最后是测试类Test,代码如下:
bean.xml内容代码如下:
运行as a Java Application,得到结果为:
从结果我们分析,
第一句输出:"老师<刘作业>..疯狂的..留作业!",我们看bean.xml里的老师类下的内容,我们通过Spring容器,实现了重点中的IoC,也就是通过spring容器来创造的这个对象,使用了DI中的setting注入,而且是面向接口的编程(ITeacher),scope="singleton"这一句是为了让类的实例化为单例模式,而这正是业务层需要的,因此我们看到第四句的输出是true,也就是通过(ITeacher)的方式造出来的两个实例其实是同一个实例。
第五句第7句的输出:*************这是在执行学生方法前**************,正是运用了AOP,在学生方法的执行之前,就加上这一句的输出处理,这里AOP的方式有很多种,之前执行,之后执行,环绕执行等,这里我们只是做简单了解。
依赖注入的方法有setting,构造子注入,当然我们不仅可以注入基本类型的值,还可以注入具有依赖关系的对象,譬如这句的输出:2000-8-8出生的学生<左作业>..疯狂的..做作业!,中的生日我们就是这么做的,<property name="birthday" ref="bir"></property>这一句就是对对象的依赖注入,而bir又使用了构造子注入的方式。
- Spring简单入门实例
- Spring简单实例
- Spring AOP 简单实例
- spring aop 简单实例
- spring mvc 简单实例
- Spring简单实例
- Spring简单入门实例
- 简单的Spring实例
- spring ioc简单实例
- Spring简单入门实例
- Spring简单实例
- spring rmi简单实例
- Spring MVC 简单实例
- Spring简单入门实例
- spring security简单实例
- Spring简单实例
- spring aop 简单实例
- spring 框架 简单实例
- 用代码实现apk的安装与卸载
- ubi and ubifs应用手记
- WIN2003 IIS6.0+ASP+ASP.NET+PHP+MYSQL基本配置 - 客服中心 - Oray
- shell之“>/dev/null 2>&1”
- SharePoint与OA的区别
- Spring简单实例
- 配置错误:未能使用提供程序“RsaProtectedConfigurationProvider”进行解密。提供程序返回错误信息为: 打不开 RSA 密钥容器。
- MongoDB中索引的用法
- 编写SHELL时需要注意空格
- 64位ubuntu10.04 LTS安装oracle10g笔记
- Domino使用Java代理的注意事项
- VC实现:bmp转jpg、jpg转bmp、截屏保存jpg
- .chm 无法显示网页问题
- 正则表达式学习笔记