从第一次听说spring到现在应该有一年多的时间了,对于这个陌生有熟悉的框架只能说又爱又恨,爱是因为它的强大恨是因为太强大,强大到我现在都说不明白spring到底是什么,今天就从皮毛开始说起吧:

一、描述

一句话总结那么:spring是以控制反转和面向切面为核心的轻量级的容器 框架。

不过这句话信息量有些大,至于详细的解释我觉得我没有百度解释的明白,不过可以说一句的是:spring是为了解决企业应用程序开发复杂性而创建的,它的优势之一就是它是分层架构,分层架构允许选择使用任一组件,且它的目的不是取代任何一个已经存在的框架而是很好的融合。

 

二、简单应用

还是先从应用说起,其实spring的应用比struts应用起来比较简单与struts不同的是spring不仅可以使用在web项目中在java后台项目中也是可以的,这个小的实例就以后台实例说明:

第一步:在eclipse中创建java项目:

 

SSH2框架和Springboot框架_SSH2框架和Springboot框架

第二步:添加必要的引用:

(注:创建的java项目可能没有lib文件夹,可以选择自己创建)将必要的jar包复制到lib下:

SSH2框架和Springboot框架_控制反转_02

 

在springdemo2右键-properties- Java build path-addlibrary-user library-new library-addjars最终添加

SSH2框架和Springboot框架_spring_03

第三步:创建测试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容器的作用。

运行结果:

SSH2框架和Springboot框架_xml_04

 

   是不是很神奇,spring容器不仅创建了实例,而且实例中的name属性有了值,这一切都是因为spring容器,这种为对象设置属性的方式也被称为控制反转。

     spring确实很神奇,但是它的神奇我只是了解一点点皮毛,有待深入了解!