从第一次听说spring到现在应该有一年多的时间了,对于这个陌生有熟悉的框架只能说又爱又恨,爱是因为它的强大恨是因为太强大,强大到我现在都说不明白spring到底是什么,今天就从皮毛开始说起吧:
一、描述
一句话总结那么:spring是以控制反转和面向切面为核心的轻量级的容器 框架。
不过这句话信息量有些大,至于详细的解释我觉得我没有百度解释的明白,不过可以说一句的是:spring是为了解决企业应用程序开发复杂性而创建的,它的优势之一就是它是分层架构,分层架构允许选择使用任一组件,且它的目的不是取代任何一个已经存在的框架而是很好的融合。
二、简单应用
还是先从应用说起,其实spring的应用比struts应用起来比较简单与struts不同的是spring不仅可以使用在web项目中在java后台项目中也是可以的,这个小的实例就以后台实例说明:
第一步:在eclipse中创建java项目:
第二步:添加必要的引用:
(注:创建的java项目可能没有lib文件夹,可以选择自己创建)将必要的jar包复制到lib下:
在springdemo2右键-properties- Java build path-addlibrary-user library-new library-addjars最终添加
第三步:创建测试java类:
package com.tgb.spring;
public class HelloWord {
/**
* 定义获取值的属性
*/
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void hello(){
System.out.println("hello:" +name);
}
}
第四步:创建spring的配置文件--applicationcontext.xml:
<?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.xsd">
<!-- 配置bean -->
<bean id="helloworld" class="com.tgb.spring.HelloWord">
<property name="name" value="陈丽娜"></property>
</bean>
</beans>
第五步:测试运行结果:
package com.tgb.spring;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Main {
public static void main(String []args){
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationcontext.xml");
HelloWord helloworld=(HelloWord) ctx.getBean("helloworld");
helloworld.hello();
}
}
这里的代码主要是不用直接创建helloworld实例,而是通过spring容器获取helloworld实例,这正是spring容器的作用。
运行结果:
是不是很神奇,spring容器不仅创建了实例,而且实例中的name属性有了值,这一切都是因为spring容器,这种为对象设置属性的方式也被称为控制反转。
spring确实很神奇,但是它的神奇我只是了解一点点皮毛,有待深入了解!