Spring-注入方式(基于xml方式)
1.基于xml方式创建对象
<!--配置User类对象的创建 -->
<bean id="user" class="com.at.spring5.User"></bean>
(1)在spring配置文件中,使用bean标签,标签里面添加对应属性,就可以实现对象创建
(2)在bean标签有很多属性
*id属性:唯一标识
*class属性:包类路径
(3)创建对象时,默认执行无参构造方法
2.基于xml方式注入属性
(1)DI:依赖注入->注入属性
第一种注入方式:使用set方法注入
创建Book类
package com.at.spring5;
public class Book {
private String bName;
private String author;
public void setbName(String bName) {
this.bName = bName;
}
public void setAuthor(String author) {
this.author = author;
}
public void testDemo(){
System.out.println(bName+"::"+author);
}
}
配置bean1.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">
<!--配置User类对象的创建 -->
<bean id="book" class="com.at.spring5.Book">
<property name="bName" value="易筋经"></property>
<property name="author" value="八段锦"></property>
</bean>
</beans>
创建Test类进行测试
public class TestSpring5 {
@Test
public void testAdd(){
//1.加载spring配置文件------》在该步骤创建对象
ApplicationContext context=new ClassPathXmlApplicationContext("bean1.xml");
//2.获取配置创建对象
Book book = context.getBean("book", Book.class);
book.testDemo();
}
}
第二种注入方式:使用有参构造注入
创建Orders类
/**
* 使用有参构造注入
*/
public class Orders {
private String name;
private String address;
public Orders(String name,String address) {
this.name = name;
this.address=address;
}
public void orderTest(){
System.out.println(name+":"+address);
}
}
配置bean1.xml文件
<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">
<!--配置User类对象的创建 -->
<!--使用时set方法注入-->
<!-- <bean id="book" class="com.at.spring5.Book">-->
<!-- <property name="bName" value="易筋经"></property>-->
<!-- <property name="author" value="八段锦"></property>-->
<!-- </bean>-->
<!--使用有参构造注入-->
<bean id="orders" class="com.at.spring5.Orders">
<constructor-arg name="name" value="ssh"></constructor-arg>
<constructor-arg name="address" value="ssm"></constructor-arg>
</bean>
</beans>
测试类
public class TestSpring5 {
@Test
public void testAdd(){
//1.加载spring配置文件------》在该步骤创建对象
ApplicationContext context=new ClassPathXmlApplicationContext("bean1.xml");
//2.获取配置创建对象
Orders orders = context.getBean("orders", Orders.class);
orders.orderTest();
}
}
第三种注入方式(不常用,了解即可)
使用名称空间实现注入
Spring-注入方式(基于xml方式)的更多相关文章
- Spring声明式事务管理(基于XML方式实现)
--------------------siwuxie095 Spring 声明式事务管理(基于 XML 方式实现) 以转账为例 ...
- SpringMVC入门(基于XML方式实现)
----------------------siwuxie095 SpringMVC 入门(基于 XML 方式实现) (一)搭建 SpringMVC 环境 1.先下载相关库文件,下载链接: (1)ht ...
- 使用spring框架,用xml方式进行bean装配出现“The fully qualified name of the bean's class, except if it serves...”
使用spring框架,用xml方式进行bean装配出现“The fully qualified name of the bean's class, except if it serves...”. 原 ...
- Spring中的AOP注解方式和XML方式
应掌握内容:1. AOP的全名2. AOP的实现原理[静态代理和动态代理]3. 注解方式的配置4. 通知类型 A. 每种通知的特点和使用方式 B. 获取各种数据,方便日后操作5. 执行表 ...
- Spring Boot整合Mybatis(注解方式和XML方式)
其实对我个人而言还是不够熟悉JPA.hibernate,所以觉得这两种框架使用起来好麻烦啊. 一直用的Mybatis作为持久层框架, JPA(Hibernate)主张所有的SQL都用Java代码生成, ...
- Spring基于XML方式的使用
一.IoC配置 IoC的配置是通过Spring的xml文件的bean标签进行的. 1.bean标签介绍 bean标签一般是在xml文件进行配置的,xml文件一般样式如下: <?xml versi ...
- Spring的事务控制-基于xml方式
介绍:该程序模拟了转账操作,即Jone减少500元,tom增加500元 1.导入坐标 <dependency> <groupId>junit</groupId> & ...
- Spring注入值得2种方式:属性注入和构造注入
Spring是一个依赖注入(控制反转)的框架,那么依赖注入(标控制反转)表现在那些地方了? 即:一个类中的属性(其他对象)不再需要手动new或者通过工厂方法进行创建,而是Spring容器在属性被使用的 ...
- 6.Spring【AOP】XML方式
1.AOP术语 1. Joinpoint(连接点):所谓连接点是指那些被拦截到的点.在spring中,这些点指的是方法,因为spring只支持方法类型的连接点 2. Pointcut(切入点):所谓切 ...
随机推荐
- AVCaptureSession部分用法
原文链接 AVCaptureSession阻塞主线程问题 前阵子程序中出现了一个奇怪的 bug,在 iOS 系统上,页面弹出的时候会卡很久,相机始终黑屏,大概6-7秒钟,跟踪具体每个步骤花费时间的时候 ...
- CF594D题解
我不会数据结构/kk 我想题意应该十分清楚了. 我们知道 \(\varphi(p^k)=p^{k-1}(p-1)\),那么我们考虑将一个询问下放到右端点,然后往右移动右端点并更新每个左端点到右端点的答 ...
- MacOS新功能“通用控制”,多台设备操作互联太方便了!
昨天看到macOS推送了12.3的更新,记得之前预告过一个"通用控制"的功能,所以赶紧升级一波体验一下,效果惊艳到我了,赶紧安利一波! 先交代一下现在隔离在家的办公情况,我主要是用 ...
- 官宣 .NET 7 Preview 2
今天,我们很高兴发布 .NET 7 预览版 2..NET 7 的第二个预览版包括对 RegEx 源生成器的增强.将 NativeAOT 从实验状态转移到运行时的进展,以及对"dotnet n ...
- CSV格式的文件与EXCEL文件的区别
CSV格式的文件与EXCEL文件的区别 Excel CSV 这是一个二进制文件,它保存有关工作簿中所有工作表的信息 CSV代表Comma Separated Values .这是一个纯文本格式,用逗号 ...
- 27.Java 飞机游戏小项目
开篇 游戏项目基本功能开发 飞机类设计 炮弹类设计 碰撞检测设计 爆炸效果的实现 其他功能 计时功能 游戏项目基本功能开发 这里将会一步步实现游戏项目的基本功能. 使用 AWT 技术画出游戏主窗口 A ...
- LCS&&LRC&&LIS问题
注:最近笔试题经常碰到DP动态规划的问题,但是由于本人没有接触过DP,笔试后看到别人家的答案简洁又漂亮,真的羡慕:难的DP自己可能不会,那再见到常见的LCS和LRS以及LIS为问题总该会吧: 资料参考 ...
- 如何在网上找java包
如图所示 在java api后面输入你要找包的名称就可以了
- IList和DataSet性能差别 转自 http://blog.csdn.net/ilovemsdn/article/details/2954335
IList和DataSet性能差别 分类: NHibernate/Spring/NetTiers/Castle/Ibatis C# ...
- cpu指令如何读写硬盘
我们提到cpu的主要作用之一就是控制设备之间的数据交互.这其中自然也包括了硬盘.系统的所有数据基本都在硬盘中,所以知道怎么读写硬盘,对程序来说非常重要,所以我们先来探索下传说中的pio模式. cpu要 ...