您的位置:首页 > 编程语言 > Java开发

项目架构之spring初探

2012-10-07 20:43 239 查看
spring是java开发中一个使用比较广泛的开源框架,spring更偏重于项目架构这一大块,是一个轻量级的EJB实现。了解该框架的使用可以让我们的开发变得简单并且易于管理。后期代码的维护也变得简单多了。

1.spring的特点:控制反转、依赖注入

依赖注入(Dependency Injection)和控制反转(Inversion
of Control)是同一个概念。具体含义是:当某个角色(可能是一个Java实例,调用者)需要另一个角色(另一个Java实例,被调用者)的协助时,在
传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在Spring里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者 实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入。

控制反转(IoC=Inversion of Control)IoC,用白话来讲,就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:(依赖)控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。

2.使用spring的好处
依赖注入机制减轻了组件之间的依赖关系,同时也大大提高了组件的可移植性,这意味着,组件得到重用的机会将会更多。

3.开始写第一个spring程序

(1)下载spring开发所需开发包地址在百度上搜索下就OK了

(2)挑选出基础开发包,数据连接池的开发jar包可以不用,下面是我的所有jar包



(3)添加一个spring最基础的配置文件,名称可以随意我这里就取成beans.xml ,文件的schema部分可以从spring的参考文档里获取到路径大概是docs\reference\html_single里面找到一个index.html
<?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-2.5.xsd"> <!-- 把业务bean交给spring进行管理-->
<bean id="personManager" class="org.lxh.impl.PersonManger"></bean>
</beans>

里面的bean节点,配置的是要交给spring管理的业务bean

(4)下面是我写的接口和实现类
package org.lxh.dao;

public interface PersonDao {

public abstract void sayHello();

}


package org.lxh.impl;

import org.lxh.dao.PersonDao;

public class PersonManger implements PersonDao {
/* (non-Javadoc)
* @see org.lxh.impl.PersonDao#sayHello()
*/
public void sayHello(){
System.out.println("Hello World");
}
}


(5)使用junit测试一下代码
package org.lxh.test;

import org.lxh.dao.PersonDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Testunit {
@org.junit.Test public void  TestUse(){
//初始化spring容器
ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
//取得业务bean
PersonDao dao=(PersonDao)context.getBean("personManager");
dao.sayHello();
}
}


这里可以有多个spring配置文件,ClassPathXmlApplicationContext有多个构造函数,这里只是单个配置文件的情况

下面是运行结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐