Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
它的优点:
◆低侵入式设计,代码污染极低
◆ 独立于各种应用服务器,可以真正实现Write Once,Run Anywhere的承诺
◆Spring的DI机制降低了业务对象替换的复杂性
◆Spring并不完全依赖于Spring,开发者可自由选用Spring框架的部分或全部
目的功能:
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆范围:任何Java应用
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
它的依赖注入(DI)是什么呢?
所谓依赖注入,就是明确的定义组件接口(如UserDAO),独立开发各个组件,然后根据组件间的依赖关系组装(UserAction依赖于UserBiz,UserBiz依赖于UserDAO)运行的设计开发模式!
系统组装的时候,只要是UserDAO的实现类就可以注入到UserBiz中,可以是UserDAOjdbcImpl,也可以是UserDAOHibImpl,究竟使用哪个实现类,组装的时候再决定,是不是很方便呢?
看下面一些简单的代码:
定义一个Girl类,要实现和Boy的kiss方法(很俗..呵呵):
public class Girl {
private Boy boy;
public void kiss()
{
boy.kiss();
}
public void setBoy(Boy boy) {
this.boy = boy;
}
}
//我们这块用的是注入方式中的一种:set get 方法注入!
接着来写一个Boy类,里面有个kiss方法:
public class Boy {
public void kiss()
{
System.out.println("boy and girl ....");
}
}
接着在applicationContext.xml里面进行配置(在spring1.0中叫做bean.xml):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="girl" class="com.viita.Girl">
<property name="boy">
<ref bean="boy"/>
</property>
</bean>
<bean id="boy" class="com.viita.Boy"></bean>
</beans>
这里的bean里面有个value参数,意思是:基础数据类型
而ref:引用另外一个对象!
好了,建立Test测试类:
public class Test {
public static void main(String[] args) {
Resource r = new ClassPathResource("applicationContext.xml");
BeanFactory factory = new XmlBeanFactory(r);
Girl girl = (Girl)factory.getBean("girl");
girl.kiss();
}
}
OK,使用set get 方法的注入已经完毕!
Spring框架精要
Spring框架由Rod Johnson创建,旨在简化企业应用开发。它利用基本JavaBean实现原本仅能通过EJB完成的功能,并提供了更多企业级特性。Spring框架的核心优势包括低侵入式设计、独立于应用服务器以及模块化特性等。
1926

被折叠的 条评论
为什么被折叠?



