Spring学习(3)-最简单的Spring例⼦基于IntelliJ IDEA的Java EE Web Applicatin 4.0的Spring⼩例⼦
1.新建项⽬
1.1 新建⼀个Java EE Web Applicatin 4.0的项⽬
1.2 创建lib⽂件夹并导⼊基础包
可选择:
spring基础包下载地址(spring framwork的所有包):
最简单Spring程序的包的(建议,本⽂基于这⼏个包来实现ioc): 提取码:0we8
复制包到lib下
右键导⼊到项⽬中
2.添加代码
⽐如:我想实现三个类:游戏(Game)、电脑(Computer)、玩家(Player)
他们三个之间的关系是:游戏依赖于电脑,电脑依赖于玩家
所以普通程序需要在电脑类中new⼀个游戏实例,玩家类中new⼀个电脑实例,最后在主函数中调⽤玩家实例⽅法就实现了对三个类的控制。这是在每⼀个类中由程序员⾃⼰new出来每⼀个类需要的对象,耦合度很⾼。
通过Spring的基础5个包,可以使⽤Spring最核⼼的思想——IOC(控制反转)容器
依赖注⼊主要有两种实现⽅式,分别是属性 setter 注⼊和构造⽅法注⼊。具体介绍如下。
属性 setter 注⼊
指 IoC 容器使⽤ setter ⽅法注⼊被依赖的实例。通过调⽤⽆参构造器或⽆参 static ⼯⼚⽅法实例化 bean 后,调⽤该 bean 的 setter ⽅法,即可实现基于 setter 的 DI。
构造⽅法注⼊
指 IoC 容器使⽤构造⽅法注⼊被依赖的实例。基于构造器的 DI 通过调⽤带参数的构造⽅法实现,每个参数代表⼀个依赖。
下⾯通过属性 setter 注⼊的案例演⽰ Spring 容器是如何实现依赖注⼊的。具体步骤如下。
2.1 java代码:
玩家类需要⼀个电脑类的对象,给予setComputer()
//玩家类
public class Player {
private String userName;
//依赖注⼊
//1.声明依赖关系类
private Computer computer;
//2.提供赋值⼊⼝
public void setComputer(Computer computer){
thisputer = computer;
}
//玩家游玩电脑⾥的游戏
public void playGame(){
System.out.println("我叫"+ userName);
System.out.println(computer.installGame());
}
public String getUserName(){
return userName;
}
public void setUserName(String userName){
this.userName = userName;
}
}
电脑类需要⼀个游戏类对象,给予⼀个setGame()
//电脑模型
public class Computer {
private String kind;
//使⽤依赖注⼊,将l配置中的依赖关系注⼊到Java代码中//1.声明所依赖的类,注意,依赖名要与配置⽂件汇总的依赖名相同
//2.需要提供依赖注⼊的赋值⼊⼝
private Game game;
public void setGame(Game game){
this.game = game;
}
//使⽤电脑安装游戏
public String installGame(){
return"我在我的"+kind+"电脑上,安装了"+GameName()+
"这个游戏是"+GameType()+"类型的";
}
public String getKind(){
return kind;
}
public void setKind(String kind){
this.kind = kind;
}
}
游戏类(底层类)
//游戏模型
public class Game {
private String gameName;
private String gameType;
public String getGameName(){
return gameName;
}
public void setGameName(String gameName){
this.gameName = gameName;
}
public String getGameType(){
简单的java游戏代码return gameType;
}
public void setGameType(String gameType){
this.gameType = gameType;
}
}
Test.java(测试函数)
import t.ApplicationContext;
import t.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args){
//l的默认加载路径是classpath => src
//当⼯程启动时,IOC容器读取l⽂件,加载配置项,进⾏实例化  ApplicationContext context =new
ClassPathXmlApplicationContext("l");
//通过beanId获取实例
Player player =(Bean("player");
player.playGame();
}
}
2.2 创建Spring配置⽂件
在src下创建spring config的xml⽂件,默认名为applicationContext

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。