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(切入点):所谓切 ...
随机推荐
- LGP6156题解
真·简单题 题目大意 给定 \(n\) 和 \(k\),求出这个柿子的值: \[\sum_{i=1}^n\sum_{j=1}^n(i+j)^k\mu^2(\gcd(i,j)gcd(i,j) \] 按照 ...
- ActiveMQ-5.9-笔记-02
- JavaWeb 05_JDBC入门及连接MySQL
一.概念 *概念: Java DataBase Connectivity Java数据库连接, Java语言操作数据库* JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数 ...
- z-index原理及适用范围
z-index原理及适用范围 原理 z-index这个属性控制着元素在z轴上的表现形式,堆叠顺序是当前元素位于z轴上的值,数值越大说明元素的堆叠1顺序越高,越靠近屏幕. 适用范围 <div cl ...
- Windows&Linux文件传输方式总结
在渗透过程中,通常会需要向目标主机传送一些文件,来达到权限提升.权限维持等目的,本篇文章主要介绍一些windows和Linux下常用的文件传输方式. Windows 利用FTP协议上传 在本地或者VP ...
- 【Java面试宝典】什么情况下会发生栈内存溢出?
如果线程请求的栈深度大于虚拟机所允许的深度,将抛出StackOverflowError异常. 如果虚拟机在动态扩展栈时无法申请到足够的内存空间,则抛出OutOfMemoryError异常.
- Linux下离线安装docker与fastDFS
一.Linux下离线安装Docker 基础环境 1.操作系统:CentOS 7 2.Docker版本:docker-19.03.9.tgz 官方下载地址(打不开可能需要科学-上网) 3.官方参考文档: ...
- 在 Java 中 Executor 和 Executors 的区别?
Executors 工具类的不同方法按照我们的需求创建了不同的线程池,来满足业务 的需求. Executor 接口对象能执行我们的线程任务. ExecutorService 接口继承了 Executo ...
- redis 是什么?都有哪些使用场景?
一.什么是redis 首先要说redis,应该先说一下nosql,NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",泛指非关系型的数据库.随着互联网 ...
- memcacuery cache 相比,有什么优缺点?
把 memcached 引入应用中,还是需要不少工作量的.MySQL 有个使用方便的 query cache,可以自动地缓存 SQL 查询的结果,被缓存的 SQL 查询可以被反复 地快速执行.Memc ...