2024年3月24日发(作者:)
Spring 实例入门
本文结合实例理解解容器,DI,IOC,耦合,解耦等Spring所涉及的概念,同时了解Spring
的最基本也是最核心的使用方法。
1. Spring容器
Spring容器负责对象的实例化,对象生命周期的管理,被Spring管理的对象称之为Bean。
例如有Soldier类需要交由Spring容器管理,我们先编写类
package ;
public class Soldier {
}
private String name;
public String getName() {
}
public void setName(String name) {
}
= name;
return name;
在Spring配置文件中添加如下配置
初始化Spring容器
public class Test {
public static void main(String[] args) {
ApplicationContext context = new
ClassPathXmlApplicationContext("");
}
}
从Spring容器中取得对象实例
Soldier s1 = (Soldier) n("s1");
Spring默认使用单例的方式创建对象。可以通过修改
个属性为Scope,称之为作用域或生命周期,它的值为singleton(单例,默认值),prototype
(每次产生一个新的实例)等。
scope="prototype" >
2. 注入方式有setter注入,构造注入方式,接口注入(不需掌握)。建议多使用Setter注入
方式。
Setter注入:
Soldier类中有一个属性name,如何在创建Soldier的时候使name的值变为”RANBO”?
配置如下:
这样创建的Soldier对象的name属性就有值了,测试代码:
public static void main(String[] args) {
ApplicationContext context = new
ClassPathXmlApplicationContext("");
Soldier s1 = (Soldier) n("s1");
n(e());
}
构造注入:
我们先修改下Soldier类,给它添加一个构造方法:
package ;
public class Soldier {
private String name;
public Soldier(String name) {
= name;
}
public String getName() {
}
return name;
}
配置如下:
测试结果同上。
3. 依赖
当A对象使用了B对象的方法,A对B产生依赖,称之为A依赖B。下面的例子中Soldier
类依赖HandGun类。
package ;
/**
* 士兵类
*/
public class Soldier {
}
/**
* 打仗
*/
public void fight(){
HandGun handGun = new HandGun();
emy();
}


发布评论