Spring容器

目录

一、创建Spring应用程序 - 骑士完成任务

(一)创建Maven项目

(二)添加Spring依赖

(三)创建杀龙任务类

(四)创建勇敢骑士类

(五)采用传统方式让勇敢骑士完成杀龙任务

(六)采用Spring框架让勇敢骑士完成杀龙任务

1、创建日志属性文件

2、创建Spring配置文件

3、在Spring配置文件里创建Bean

(1)创建杀龙任务Bean

(2)创建勇敢骑士Bean

4、创建勇敢骑士测试类

5、创建两个勇敢骑士Bean

6、修改新勇敢骑士测试类

(七)采用构造方法注入方式注入属性值

1、创建救美任务类

2、创建救美骑士类

3、配置救美骑士Bean

4、创建旧救美骑士测试类

5、创建新救美骑士测试类


一、创建Spring应用程序 - 骑士完成任务

(一)创建Maven项目

  • 创建Maven项目 - SpringDemo,设置项目位置以及组ID

  • 单击【Finish】按钮

修改项目的Maven配置

(二)添加Spring依赖

  •  选择最新版本 - 5.3.20

  •  添加到pom.xml文件的<dependencies>元素里

  • 同理添加其他依赖

  • 如果版本号是红色的,就说明依赖包还没有下载

 

  •  打开Maven窗口

  • 单击刷新按钮,就开始下载依赖包 

  • 等待插件与依赖下载完成(第一次下载有点慢,需要耐心等待)

  •  查看本地Maven仓库

  • 可以查看项目下载的有关Spring框架的依赖

(三)创建杀龙任务类

  • 创建net.hy.spring.day01包,然后在包里面创建SlayDragonQuest

(四)创建勇敢骑士类

  • net.hy.spring.day01包里创建BraveKnight

  • 回顾一下传统方式怎么使用这两个类。需要我们自己通过new实例化两个类,然后设置勇敢骑士对象的姓名和杀龙任务属性,然后调用勇敢骑士执行任务的方法。

(五)采用传统方式让勇敢骑士完成杀龙任务

  • test/java里创建net.hy.spring.day01包,然后在包里面创建TestBraveKnightOld

 

 

  •  运行测试方法testBraveKnight()

  • 查看程序运行结果

(六)采用Spring框架让勇敢骑士完成杀龙任务

1、创建日志属性文件

  • resources目录里创建log4j.properties

2、创建Spring配置文件

  • resources里创建xmlconfig目录,然后在里面创建spring-config.xml
  •  输入Spring配置文件名

  •  单击【Configure application context】(配置应用上下文)

  • 单击【Create new application context…】(创建新的应用上下文),注意应用上下文名称是可以修改的

  •  单击【OK】按钮

 

  •  在项目结构窗口里查看配置好的spring-config.xml

 

  • 现在我们有了生产Bean的车间,下面我们就要在车间里配置产品

3、在Spring配置文件里创建Bean

(1)创建杀龙任务Bean

  • id属性 :对应对象名,可以任取,然后在应用程序里我们可以通过这个id值从Spring容器中获取Bean对象。
  • class属性 :表明Bean对象是基于哪个类来实例化,注意一定要包含包名。

(2)创建勇敢骑士Bean

  • property元素:给对象设置属性值
  • name属性:Bean对象的属性名
  • ref属性:Bean对象的属性值(引用另一个Bean对象)
  • 勇敢骑士Bean通过<property>元素将杀龙任务Bean注入作为其属性。注意,name属性值一定是BraveKnight类的属性名,ref属性值是已定义的杀龙任务Bean的id值。

  •  通过Spring配置文件,创建了两个Bean对象,它们之间存在依赖关系,第一个Bean对象是第二个Bean对象的任务属性值。

 

4、创建勇敢骑士测试类

  • test/java/net.hy.spring.day01里创建TestBraveKnightNew测试类

  •  采用基于类路径的应用容器类 – ClassPathXmlApplicationContext

 

  • 代码说明:首先通过Spring配置文件创建Spring应用容器,然后就可以利用容器的getBean方法通过名称获取容器里的Bean对象,然后调用该对象的方法。
  • 运行测试方法testBraveKnight(),查看结果

  • 根据名称从应用容器中获取勇敢骑士对象可能会报错,因为配置文件里没有定义那个名称的Bean

  • 当然可以对上述代码进行异常处理

5、创建两个勇敢骑士Bean

  • 基于一个类可以创建多个对象,因此,在spring-config.xml文件里,也可以基于同一个类创建多个Bean
  • 基于BraveKnight类再创建两个Beanid值分别为knight1knight2

  • Spring配置文件里,同一个Bean不能重复定义,也就是说不允许两个Bean有相同的id

6、修改新勇敢骑士测试类

  • 获取新建的两个勇敢骑士Bean,调用执行任务方法

  •  执行testKnight测试方法,查看结果

  •  勇敢骑士Bean采用属性注入方式将杀龙任务Bean注入作为其属性。

  • 初始化对象其实可以调用有参构造方法来设置属性的初始值,对应到SpringBean工厂,就还有一种注入方式,叫做构造方法注入。同样地,我们还是通过案例来演示如何通过构造方法来注入属性值。

(七)采用构造方法注入方式注入属性值

1、创建救美任务类

  • net.huawei.spring.day01包里创建RescueDamselQuest

  • Rescue Damsel - 拯救少女

2、创建救美骑士类

  • net.huawei.spring.day01包里创建DamselRescuingKnight

 

  • 代码说明:通过构造方法来设置骑士的姓名与要执行的任务。

3、配置救美骑士Bean

  • Spring配置文件里创建救美骑士Bean

4、创建旧救美骑士测试类

  • test/java/net.hy.spring.day01包里创建TestRescueDamselKnightOld

  • 运行testRescueDamselKnight()测试方法,查看结果

 

5、创建新救美骑士测试类

  • test/java/net.hy.spring.day01包里创建TestRescueDamselKnightNew

  •  
  • 运行testRescueDamselKnight()测试方法,查看效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值