Spring(Bean)1
Spring支持3种依赖注入的方式 (DI依赖注入)
*属性注入 (配置bean set方法注入)
<bean id="car" class="spring.beans.di.Car">
<property name="brand" value="AuDi"></property>
<property name="crop" value="ShangHai"></property>
<property name="price" value="400000"></property>
<property name="maxSpeed" value="240"></property>
</bean>
*构造器注入 (配置bean 通过构造器的方法给对象的属性注入值)
<bean id="car1" class="spring.beans.di.Car">
<constructor-arg value="bmw" index="" type="java.lang.String"></constructor-arg>
<constructor-arg value="DG" index=""></constructor-arg>
<constructor-arg value="50000" index="" type="double"></constructor-arg>
</bean>
*Bean与Bean引用关系 ( 配置Bean 通过 ref )
<bean id="person" class="spring.beans.di.Person">
<property name="name" value="贾1"></property>
<property name="age" value="20"></property>
<property name="car" ref="car1"></property>
</bean>
*内部的Bean的使用
<bean id="person1" class="spring.beans.di.Person">
<property name="name" value="贾2"></property>
<property name="age" value="30"></property>
<property name="car">
<bean class="spring.beans.di.Car">
<property name="brand" value="DasAuto"></property>
<property name="crop" value="ShanHan"></property>
<property name="price" value="300000"></property>
<property name="maxSpeed" value="300"></property>
</bean>
</property>
</bean>
<!-- null值与级联属性的赋值-->
<bean id="person2" class="spring.beans.di.Person">
<property name="name" value="贾3"></property>
<property name="age" value="40"></property>
<!-- <property name="car"><null /></property> -->
<property name="car" ref="car1"></property>
<!-- 级联属性赋值的时候,当前级联的对象必须是存在的. -->
<property name="car.maxSpeed" value="250"></property> </bean>
*List集合属性的注入
<bean id="personList" class="spring.beans.di.collections.PersonList">
<property name="name" value="xxxx"></property>
<property name="age" value="25"></property>
<property name="cars">
<list>
<ref bean="car1"/>
<ref bean="car2"/>
<bean class="spring.beans.di.Car">
<property name="brand" value="AuDi"></property>
<property name="crop" value="ShangHai"></property>
<property name="price" value="400000"></property>
<property name="maxSpeed" value="240"></property>
</bean>
</list>
</property>
</bean>
*Map集合属性注入值
<bean id="personMap" class="spring.beans.di.collections.PersonMap">
<property name="name" value="jjjjj"></property>
<property name="age" value="29"></property>
<property name="cars">
<map>
<entry key="AA" value-ref="car1"></entry>
<entry key="BB" value-ref="car2"></entry>
</map>
</property>
</bean>
*给Properties类型的属性注入值 (数据源)
<bean id="dataSource" class="spring.beans.di.collections.DataSource">
<property name="properties">
<props>
<prop key="user">root</prop>
<prop key="password">1234</prop>
<prop key="url">jbdc:mysql://localhost:3306/test</prop>
<prop key="driverClass">com.mysql.jbdc.Driver</prop>
</props>
</property>
</bean>
备注:
1. <![CDATA[ 什么内容都可以写,并且只是返回的是字符串的格式 ]]>
Spring(Bean)1的更多相关文章
- Spring(Bean)6
生命周期构造 --->set--->Bean init前后执行 (新创建 类) public class MyBeanPostProcesser implements BeanPostPr ...
- Spring(Bean)5
spel <bean id="address" class="com.atguigu.spring.beans.spel.Address"> < ...
- Spring(Bean)3
bean的继承<!-- bean 的继承 作为模板来使用. 可以通过abstract="true"来指定把该bean配置为·抽象的. 通过abstract="tru ...
- Spring(Bean)2
<!-- util:list封装的心 --> <bean id="personList2" class="spring.beans.di.collect ...
- Spring(Bean)4 配置数据源、连接池
<!-- 配置数据源 Mysql c3p0: 连接池. <bean id="dataSource" class="com.mchange.v2.c3p0.Co ...
- Spring(一)之IOC、bean、注入
[TOC] spring简介 首先它是一个开源的.用来简化企业级应用开发的框架. Spring为编写企业应用程序提供了轻量的解决方案,同时仍然支持使用声明式事务. 用RMI或web service远程 ...
- (转)java之Spring(IOC)注解装配Bean详解
java之Spring(IOC)注解装配Bean详解 在这里我们要详细说明一下利用Annotation-注解来装配Bean. 因为如果你学会了注解,你就再也不愿意去手动配置xml文件了,下面就看看 ...
- Spring(八):Spring配置Bean(一)BeanFactory&ApplicationContext概述、依赖注入的方式、注入属性值细节
在Spring的IOC容器里配置Bean 配置Bean形式:基于xml文件方式.基于注解的方式 在xml文件中通过bean节点配置bean: <?xml version="1.0&qu ...
- 【初识Spring】对象(Bean)实例化及属性注入(xml方式)
title: [初识Spring]对象(Bean)实例化及属性注入(xml方式) date: 2018-08-29 17:35:15 tags: [Java,Web,Spring] --- #初识S ...
随机推荐
- 外星人R7 1080Ti 装ubuntu两个巨坑
机器型号(Alienware R7):GTX1080ti,i7-8700 install ubuntu 16.04 坑一 ACPI Error: Namespace lookup failure AC ...
- python中str.isdigit()用法
str.isdigit()中只包含数字返回true,包含其它则返回false
- hack the box -- sizzle 渗透过程总结,之前对涉及到域内证书啥的还不怎么了解
把之前的笔记搬运过来 --- 1 开了443,用smbclient建立空连接查看共享 smbclient -N -L \\\\1.1.1.1 Department Shares Operatio ...
- Zabbix 四 主动模式
本次的主机192.168.131.8 被动模式. 将zabbix4.4.4的源码包放过去,解压安装依赖准备编译安装,并创建zabbix账户. tar -xf zabbix-4.4.0.tar.gz & ...
- gedit一些小的新发现
写应该还有一些人正在像我一样用gedit呢. 现在vim,gedit,guide三党还是互相瞧不起呢. 我写这一篇是想稍微交流一下gedit的一些乱七八糟的玩意,非gedit党勿喷. 有些人连一些比较 ...
- Redis性能解析--Redis为什么那么快?
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! Red ...
- Topshelf+Quatz.Net的简单使用
Topshelf+Quatz.Net的简单使用 一 Topshelf概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Servic ...
- 关于js中函数的一点总结
1函数中this作用域 this根据当前环境来决定作用域,可以使用call和apply的方法来改变当前的this指向 <script> var name = "global&qu ...
- synchronized和ReentrantLock锁住了谁?
一.synchronized 案例1: public class LockDemo{ public static void main(String[] args) throws Exception { ...
- beacon帧字段结构最全总结(一)——beacon基本结构
一.beacon帧主要结构 二.MAC header 1.Version:版本号,目前为止802.11只有一个版本,所以协议编号为0 2.Type:定义802.11帧类型,802.11帧分为管理帧( ...