Spring--5.bean管理 依赖注入(xml)
来源:互联网 发布:绑定域名和空间 编辑:程序博客网 时间:2024/06/06 12:51
1 java属性注入(三种方式)
属性注入:创建对象时候,向类里面属性里面设置值
java属性注入的方式介绍(三种方式)
(1)使用set方法注入
(2)使用有参数构造注入
(3)使用接口注入(不用)
3 在spring框架里面,支持前两种方式
(1)set方法注入(重点)
(2)有参数构造注入
2 Spring的属性注入
2.1 使用有参数构造注入属性
public classPropertyDemo1 { private String username; public PropertyDemo1(Stringusername) { this.username = username; } public void test1() { System.out.println("demo1.........."+username); }}
2.1.1 参数的名字(重点)—name
<!-- 使用有参数构造注入属性 --> <bean id="demo" class="spring.property.PropertyDemo1"> <!-- 使用有参构造注入 --> <constructor-arg name="username" value="小王小马"></constructor-arg> </bean>
2.1.2 索引—index
根据索引赋值,索引都是以0开头的:
<bean id="memberBean"class="spring.property.Book"> <constructor-arg index="0"value="刘晓刚" /> <constructor-arg index="1"value="3500"/> <constructor-arg index="2"ref="dept"/> <constructor-arg index="3"value="男" /> </bean>
2.1.3 类型—type
这种方法基本上不怎么适用,因为一个类里可以有好几个相同基本类型的变量,很容易就混淆值传给哪一个参数了所以做好不要使用这种方法:
<bean> <constructor-arg type="Java.lang.String"value="刘晓刚" <constructor-arg type="java.lang.Double"value="3500" /> <constructor-arg type="www.csdn.spring01.constructor.Dept"ref="dept"/> <constructor-arg type="java.lang.String"value="男" /> </bean>
2.1.4 直接传值
直接给参数赋值,这种方法也是根据顺序排的,所以一旦调换位置的话,就会出现bug,这种方法已经很原始了
<bean> <constructor-arg value="刘晓刚" /> <constructor-arg value="3500" /> <constructor-arg ref="dept"/> <constructor-arg value="男" /></bean><bean id="dept" class="www.csdn.spring01.constructor.Dept" > <property name="dname" value="北航"/> <property name="deptno" value="00001"/></bean>
2.2 使用set方法注入属性(重点)
public classBook { private String bookname; //set方法 public void setBookname(Stringbookname) { this.bookname = bookname; } public void demobook() { System.out.println("book..........."+bookname); }}
<!-- 使用set方法注入属性 --> <bean id="book" class="spring.property.Book"> <!-- 注入属性值 name属性值:类里面定义的属性名称 value属性:设置具体的值 --> <property name="bookname" value="易筋经"></property> </bean>
3 注入类型
3.1 对象类型属性(重点)
1 创建service类和dao类
在service得到dao对象;在service里面得到dao类对象,才能调用dao里面的方法
2 具体实现过程
(1)在service里面把dao作为类型属性
(2)生成dao类型属性的set方法
(3)配置文件中注入关系
<!-- 注入对象类型属性 --> <!-- 1 配置dao对象 --> <bean id="userDao" class="spring.dao.UserDao"></bean> <!-- 2配置service --> <bean id="userService" class="spring.sevrvice.UserService"> <!-- 注入dao对象 name属性值:service类里面属性名称 现在不要写value属性,因为刚才是字符串,现在是对象 写ref属性:dao配置bean标签中id值 --> <property name="userDao" ref="userDao"></property> </bean>
3.2 null 值和级联属性
可以使用专用的<null/> 元素标签为 Bean 的字符串或其它对象类型的属性注入 null 值
和 Struts、Hiberante 等框架一样,Spring 支持级联属性的配置。
<null/>意义不大,
<bean id="car"class=" spring.beans.Car"> <property name="brand" value="BMW"/> <property name="color" value="Black"/> <property name="price" value="800000"/> <property name="maxSpeed" value="200"/> </bean> <!-- 级联属性 --> <bean id= "person3"class = "spring.beans.Person" > <constructor-arg value= "杰瑞"></constructor-arg> <constructor-arg value= "25"></constructor-arg> <constructor-arg ref="car"></constructor-arg> <!-- 为级联属性赋值,注意:属性必须先初始化后,才可以为级联属性赋值,否则会异常 --> <property name="car.maxSpeed" value="300"></property> </bean>
3.3 复杂类型属性
1 数组
2 list集合
3 map集合
4properties类型
<!-- 注入复杂类型属性值 --> <bean id="person" class="spring.property.Person"> <!-- 数组 --> <property name="arrs"> <list> <value>小王</value> <value>小马</value> <value>小宋</value> </list> </property>
<!-- list --> <property name="list"> <list> <value>小奥</value> <value>小金</value> <value>小普</value> </list> </property>
<!-- map --> <property name="map"> <map> <entry key="aa" value="lucy"></entry> <entry key="bb" value="mary"></entry> <entry key="cc" value="tom"></entry> </map> </property>
<!-- properties --><property name="properties"><props><prop key="driverclass">com.mysql.jdbc.Driver</prop><prop key="username">root</prop></props></property> </bean>4 注入类型简化--P名称空间
pname为对象属性
阅读全文
0 0
- Spring--5.bean管理 依赖注入(xml)
- 采用Spring管理Bean和依赖注入
- 采用Spring管理Bean和依赖注入
- 采用Spring管理Bean和依赖注入
- 采用Spring管理Bean和依赖注入
- Spring:依赖注入(XML)
- 【Spring】使用XML进行Bean装配与依赖注入
- 详细介绍采用Spring管理Bean和依赖注入方式
- spring的管理bean和依赖注入的原理剖析
- spring boot 多模块管理时,依赖注入bean失败
- Spring XML注入依赖
- Spring受管Bean依赖注入(设值注入)
- Spring受管Bean依赖注入(设值注入)
- 【spring-bean】浅谈Spring的依赖注入(基础)
- Spring的依赖注入(基于XML)
- Spring:IOC释义(Bean容器、注解、依赖注入)
- Spring之依赖注入(IOC、DI)详解---配置Bean
- (学习笔记)spring入门之Bean的依赖注入
- navicat连接Oracle步骤(cannot load oci dll,193、 87)
- postman发送json 请求
- 数据库学习笔记(1):SELECT 各子句的执行顺序
- Linux 死锁检测模块 Lockdep 简介
- 持续交付就得靠容器
- Spring--5.bean管理 依赖注入(xml)
- python的快速排序
- 设计模式之观察者模式
- S32K144 EVB之GPIO
- 初学Python第五天
- Laravel重定向,a链接跳转,控制器跳转
- Mysql的row_format(fixed与dynamic)
- spark-scala版的PageRank
- webAppRootKey