Spring特点:轻量级:非侵入性的、依赖注入、面向切片编程、容器、框架、一站式
新建一个HelloWorld类
package com.wyc.helloworld;
public class HelloWorld {
private String name;
public void setName(String name){
System.out.println("SetName:" + name);
this.name = name;
}
public HelloWorld(){
System.out.println("constructor...");
}
public void hello(){
System.out.println("hello:" + name);
}
}
创建一个运行的Main类
package com.wyc.helloworld;
public class Main {
public static void main(String[] args) {
HelloWorld helloWorld = new HelloWorld();
helloWorld.setName("name");
helloWorld.hello();
}
}
运行结果显然
分析Main类 做了三件事情
-
创建一个HelloWorld类
-
在Main类里面创建对象并给Helloworld的类的属性赋值
-
调用Helloworld的方法
前两步可以由spring完成
在package外面src里面新建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.wyc.helloworld.HelloWorld">
<property name="name" value="Spring"></property>
</bean>
</beans>
id标识对象 class表示用反射的方式创建特定的类 name="name" 第一个name表示属性 第二个name即引号里面的name表示要配置的属性名字 value表示这个属性的值
修改Main类代码
package com.wyc.helloworld;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Main {
public static void main(String[] args) {
// HelloWorld helloWorld = new HelloWorld();
// helloWorld.setName("name");
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
HelloWorld helloWorld = (HelloWorld)ctx.getBean("helloWorld");
helloWorld.hello();
}
}
-
创建Spring的IOC容器对象
-
从IOC容器中获取Bean实例
-
调用方法