1. spring简介
Spring是一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架。
2.spring的模块
3.Spring控制反转(IOC)
需求调用一个类中的方法,比如创建一个Helloworld类,调用Helloworld中的sayHello方法
3.1 传统的方式
首先创建一个HelloWorld类
public class HelloWorld {
private String name;
public void setName(String name)
{
this.name = name;
}
public void sayHello()
{
System.out.println("hello:"+name);
}
}
然后创建Main类测试
public class Main {
public static void main(String[] args) {
HelloWorld helloWorld = new HelloWorld();
helloWorld.setName("tom");
helloWorld.sayHello();
}
}
分析:由于Main类需要调用Helloworld类中的sayHello方法,所以需要在Main方法中创建Helloworld类对象,然后改用该方法,如果Helloworld类中sayHello方法的参数改变,需要修改Helloworld类中的方法,而且需要修改Main类中调用的地方,类与类之间的耦合度过高。
Spring的方式
首先还是创建Helloworld类
public class HelloWorld {
private String name;
public void setName(String name)
{
this.name = name;
}
public void sayHello()
{
System.out.println("hello:"+name);
}
}
创建spring.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 id = "helloWorld" class="spring.springday1.Demo2.HelloWorld">
<property name="name" value="kongshuai"/>
</bean>
</beans>
创建调用类Main
public class Main {
public static void main(String[] args) {
ClassPathXmlApplicationContext classPathXmlApplicationContext =
new ClassPathXmlApplicationContext("spring/springday1/Demo2/springdemo2.xml");
HelloWorld helloWorld = (HelloWorld) classPathXmlApplicationContext.getBean("helloWorl