从第一次听说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确实很神奇,但是它的神奇我只是了解一点点皮毛,有待深入了解!