博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java Spring框架IOC(控制反转)
阅读量:6551 次
发布时间:2019-06-24

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

hot3.png

Spring是java web开发中应用很广的java EE框架之一,它的主要思想是IOC(控制反转)和AOP(面向切面编程),它经常和struts、hibernate一起使用,合称ssh

IOC控制反转

IOC也叫做DI(Dependency Injection,依赖注入)。传统程序中,如果要使用一个类,就要new一个对象Person p1 = new Person("Lily");而在Spring中是一种完全不同的方法,下面是个简单的例子(使用maven来管理jar包):

IDao.java:

package com.yeetrack.mavenSpring;public interface IDao{    public String sayHello(String name);}

实现IDao接口,DaoImpl.java:

package com.yeetrack.mavenSpring;public class DaoImpl implements IDao{    public String sayHello(String name)    {        // TODO Auto-generated method stub        return "Hello, "+name;    }}

新建业务接口,IService.java:

package com.yeetrack.mavenSpring;public interface IService{    public void sayHello(String name);}

实现IService接口:

package com.yeetrack.mavenSpring;public class ServiceImpl implements IService{    private IDao dao; //定义一个IDao对象    public void sayHello(String name) //实现IService接口中的方法    {        // TODO Auto-generated method stub        System.out.println(dao.sayHello(name));    }    public IDao getDao()    {        return dao;    }    public void setDao(IDao dao)    {        this.dao = dao;    }}

下面在applicationContext.xml中配置ServiceImpl和DaoImpl:

OK,现在配置完成,我们可以通过applicationContext来获取ServiceImpl实例了。在贴出自己的pom.xml文件内容:

4.0.0
com.yeetrack
mavenSpring
war
0.0.1-SNAPSHOT
mavenSpring Maven Webapp
http://maven.apache.org
junit
junit
3.8.1
test
org.springframework
spring-core
3.2.2.RELEASE
org.springframework
spring-context
3.2.2.RELEASE
mavenSpring

测试我们配置的applicationContext文件,新建SpringTest.java文件:

package com.yeetrack.mavenSpring;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class SpringTest{    public static void main(String[] args)    {        //获取ApplicationContext容器,会默认寻找classpath路径,如果没找到xml文件,也可以手动指定applicationContext.xml文件的路径        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");        IService hello = (IService) context.getBean("service");        hello.sayHello("Good Day!");    }}

OK,运行即可。在代码运行时,spring会根据applicationContext.xml文件的配置来加载相应的java bean,并通过反射机制调用getter和seter方法设置bean之间的依赖。

转载于:https://my.oschina.net/u/147181/blog/164916

你可能感兴趣的文章
如何下载导入以及安装Cisco路由器交换机License
查看>>
联机分析处理
查看>>
使用 xampp-部署php网站
查看>>
一个脚本测试系统环境变量配置文件的启动顺序
查看>>
Java零碎知识
查看>>
lync客户端外网登陆提示exchange连接错误
查看>>
Hadoop 技术在电信运营商上网日志处理中的应用架构
查看>>
文件存储
查看>>
ubuntu安装tomcat7
查看>>
[python]列表的操作
查看>>
lsof入门
查看>>
linux温故知新九
查看>>
刘宇凡:史玉柱退休给年轻人的启示
查看>>
我的友情链接
查看>>
oracle数据库中由于没有做任何约束,如何删掉表中重复的记录
查看>>
挨踢项目求生法则(8)——计划篇
查看>>
C#关键字列表
查看>>
Javascript ES6中的箭头函数
查看>>
复制虚拟机出现网卡冲突的解决方案
查看>>
mysql 增查删改,备份恢复,授权等基础常用命令
查看>>