采用的是官方网站上最新的版本和例子。
具体截图如下
工程目录结构
整个工程是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="最简单的Bean" /> </bean> </beans>
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");
这样一句话,就能够获取到一个对象,其用到的就是反射机制。
时间: 2024-10-11 03:42:30