首页 > 代码库 > 一个spring的例子入门

一个spring的例子入门

采用的是官方网站上最新的版本和例子。

具体截图如下



工程目录结构


整个工程是maven工程,不会maven的同学可以看看maven的用法,就是自动加载所需要的依赖jar包的,非常简单,其中会在pom.xml中加载到spring的依赖。

然后hello.java是我们的bean文件,也是我们的主测试文件,hello.xml是配置文件。


hello.java

package SpringByHand;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;

public class Hello {

	private String msg;
	
	public String getMsg() {
		return msg;
	}
	public void setMsg(String msg) {
		this.msg = msg;
	}
	public void sayHello()
	{
		System.out.println(msg);
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		@SuppressWarnings("deprecation")
		BeanFactory factory=new XmlBeanFactory(new ClassPathResource("SpringByHand/hello.xml"));
		Hello hello=(Hello) factory.getBean("helloBean");
		hello.sayHello();
	}

}

hello.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="helloBean" class="SpringByHand.Hello">
        <property name="msg" value=http://www.mamicode.com/"最简单的Bean" />>
pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>MySpring</groupId>
  <artifactId>MySpring</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>MySpring</name>
  <description>MySpring</description>
  
  <dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.1.0.RELEASE</version>
    </dependency>
</dependencies>

  
</project>

输出结果



这里,我们就成功的使用到了spring的框架,那么到底spring是干什么用的?简单来说,是用来帮助我们管理java类的,之前我们使用java的类的时候,需要手工去new每一个对象,然后调用构造函数或者方法去赋值,而现在spring就代替了这些工作,直接采用配置的方法,自动帮我们完成这些内容,那么是如何完成这些内容?如何从配置文件中去获取关键词并且构造出对象的?这就是用到了java的反射机制。

什么是java的反射机制?简单来说,就是通过类名来获得对象,在我们工程里,体现为,给定一个字符串,就能够生成一个对应的对象。例如我们在Hello.java中,我们仅仅使用

Hello hello=(Hello) factory.getBean("helloBean");

这样一句话,就能够获取到一个对象,其用到的就是反射机制。

一个spring的例子入门