基本在注入:
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="oracle.jdbc.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@localhost:1521:XE" /> <property name="username" value="jsd1403" /> <property name="password" value="root" /> </bean>
或者下面的写法:
<!-- 视图解析器 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix"> <value>/WEB-INF/jsp/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean>
Bean对象注入:
<bean id="empservice" class="spring.EmpService"> <!-- 构造器注入: <constructor-arg index="0" ref="empdao"></constructor-arg> --> <!--属性注入: <property name="empDao" ref="empdao"></property> --> <constructor-arg index="0"> <bean class="spring.EmpDao"></bean> </constructor-arg> </bean> <bean id="empdao" class="spring.EmpDao"></bean>
EmpService.java编写
public class EmpService { private EmpDao empDao; public EmpService() { System.out.println("------new( )-------"); } public EmpService(EmpDao empDao) { System.out.println("------new( param1 )-------"); this.empDao = empDao; } //getter and setter }
List集合注入
<bean id="msg" class="com.lydia.Message"> <property name="friends"> <list> <value>jack</value> <value>kevin</value> </list> </property> </bean>
Set集合注入:
<bean id="msg" class="com.lydia.Message"> <property name="friends"> <set> <value>jack</value> <value>kevin</value> </set> </property> </bean>
Map注入:
<bean id="msg" class="com.lydia.Message"> <property name="friends"> <map> <entry key="1001" value="kevin"></entry> <entry key="1002" value="Charles"></entry> </map> </property> </bean>
Properties注入:
<bean id="msg" class="com.lydia.Message"> <property name="dbProp"> <props> <prop key="username">root</prop> <prop key="password">root</prop> </props> </property> </bean>
也可以引入Spring再带的标签,不过要先修改applicationContext.xml中的文件协议头,加上util的描述:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xmlns:util="http://www.springframework.org/schema/util" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
接下来就可以使用了:
<!-- 定义集合bean --> <util:list id="friendList"> <value>jack</value> <value>kevin</value> </util:list> <util:set id="friendSet"> <value>jack</value> <value>kevin</value> </util:set> <util:properties id="dbprop" > <prop key="username">root</prop> <prop key="password">root</prop> </util:properties> <util:map id="friendMap"> <entry key="username" value="root"></entry> <entry key="password" value="root"></entry> </util:map> <!-- 引入上面定义的集合 --> <bean id="msgBean" class="com.tarena.MessageBean"> <property name="someList" ref="friendList"></property> <property name="someSet" ref="friendSet"></property> <property name="someMap" ref="friendMap"></property> <property name="someProps" ref="dbprop"></property> </bean>
注入Spring表达式
<util:properties id="jdbc" location="classpath:db.properties"/> <bean id="mydb" class="org.apache.commons.dbcp.datasources"> <property name="username">#{jdbc.username}</property> <property name="password">#{jdbc.password}</property> </bean
注入null 或 空字符串
Spring将属性的空参数当作空字符串而不是null
<bean id="myBean' class=""> <property name="username' value=""> <bean>
如果注入null值则:
<bean id="myBean" class> <property name="username"> <null/> <property> </bean>
相关推荐
《Spring技术内幕》学习笔记1——IoC容器体系结构 ...《Spring技术内幕》学习笔记5——IoC容器的依赖注入 《Spring技术内幕》学习笔记6——IoC容器的高级特性 《Spring技术内幕》学习笔记7——AOP基础
Spring容器简介——依赖注入
IOC与DI的理解及使用 控制反转IOC(Inversion of Control)是一种设计思想,DI(依赖注入)是实现IOC的一种方法 。... 在Spring中实现控制反转的是IOC容器 ,其 实现方法是依赖注入 (Dependency Injection,DI)
Bean的作用域Bean的作用域SingletonPrototypeRequestSessionGlobal Session... 在Spring中,那些组成应用程序的主体及由Spring IoC容器所管理的对象,被称之为bean。简单地讲,bean就是由IoC容器初始化、装配及管理的
Spring从入门到入土——概述以及IOC理论推导 Spring从入门到入土——快速上手Spring Spring从入门到入土——依赖注入(DI) Spring从入门到入土——Bean的作用域 Dependency Injection 概念 依赖注入(DI) 依赖:指...
Spring的IoC容器 6 用户注册的例子 7 面向接口编程 8 (用户持久化类)重构第一步——面向接口编程 8 重构第二步——工厂(Factory)模式 9 重构第三步——工厂(Factory)模式的改进 10 重构第四步-IoC容器 ...
而控制反转就是把传统程序中需要实现对象的创建、代码的依赖,反转给一个专门的"第三方"即容器来实现,即将创建和查找依赖对象的控制权交给容器,由容器将对象进行组合注入,实现对象与对象的松耦合,便于功能的复用...
Spring的IoC容器 6 用户注册的例子 7 面向接口编程 8 (用户持久化类)重构第一步——面向接口编程 8 重构第二步——工厂(Factory)模式 9 重构第三步——工厂(Factory)模式的改进 10 重构第四步-IoC容器 11 ...
当spring容器创建对象的时候,通过xml配置文件,把需要赋值的JavaBean属性设置在配置文件中,这样就可以把值赋到了对应的属性上。 – 成员属性和JavaBean属性: JavaBean属性=成员属性吗?答案是否定的,成员属性是...
1.12 如何为spring代理类设置属性值 1.13 我对SpringDAO层支持的总结 1.14 我对SpringDAO层支持的总结 1.15 我对SpringDAO层支持的总结 1.16 我对Spring 容器管理事务支持的总结 1.17 我对Spring 容器管理事务支持的...
《Spring3.x企业应用开发实战》是在《精通Spring2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练...
《Spring3.x企业应用开发实战》是在《精通Spring2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练...
IoC还有另外一个名字——"依赖注入(Dependency 蚂蚁云客服机器人面试答案全文共6页,当前为第2页。蚂蚁云客服机器人面试答案全文共6页,当前为第2页。Injection)"。从名字上理解,所谓依赖注入,即组件之间的依赖...
CMT DEMO(容器管理事务演示) 事务隔离性的一些基础知识 在组件之间实现事务和异步提交事务(NET2.0) 其它 在.NET访问MySql数据库时的几点经验! 自动代码生成器 关于能自定义格式的、支持多语言的、支持多数据库的...
由于J2EE的开源的框架中提供了MVC模式实现框架Struts、对象关系模型中的Hibernate 的框架及拥有事务管理和依赖注入的Spring。利用现存框架可以更快开发系统。所以选择Java技术作为blog 的开发工具。 为了增加系统的...