1.普通注入
	1)构造器注入
		<constructor-arg name="id" value="100" /> #直接赋值
		<constructor-arg name="userDAO" ref="userDAO" /> #注入bean
	2)setter注入
		<property name="song" value="goodbye my love" /> #注入值
		<property name="instrument" ref="piano" /> #注入bean

2.注解注入
	1)context:scan + @Autowired可减少spring的xml配置,并可自动注入所需的bean到到指定的属性中
		<context:component-scan base-package="com.springinaction.demo" />

	2)@Autowired 和 @Resource的区别在于,@Autowired默认为按类型注入,@resource默认按照名称装配。
		推荐使用@Resource,可避免有多个同类型bean时出现的注入错误。
		@Autowired和@Qualifier联合使用可达到@Resource相同的效果。
		如:
		@Autowired
		@Qualifier("userDAOImpl")
		private IUserDAO userDAO;

3.数据源设置(DriverManagerDataSource不支持连接池)
	<bean id="dataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://localhost:3306/test" />
		<property name="username" value="test" />
		<property name="password" value="test" />
	</bean>

	<bean id="jdbcTemplate"
		class="org.springframework.jdbc.core.JdbcTemplate">
		<property name="dataSource">
			<ref bean="dataSource" />
		</property>
	</bean>
*)推荐使用支持连接池的BasicDataSource, DBCP2和DBCP有些细微差异,比如:DBCP2没有了maxActive属性,maxWait属性改成了maxWaitMillis
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
              <property name="driverClassName">
                     <value>oracle.jdbc.driver.OracleDriver</value>
              </property>
              <property name="url">
                     <value>jdbc:oracle:thin:@localhost:1521:orcl</value>
              </property>
              <property name="username">
                     <value>test</value>
              </property>
              <property name="password">
                     <value>test</value>
              </property>
              <property name="maxActive">
                     <value>255</value>
              </property>
              <property name="maxIdle">
                     <value>2</value>
              </property>
              <property name="maxWait">
                     <value>120000</value>
              </property>
	</bean> 

4.使用jdbc.properties文件
	#jdbc.properties文件内容如下:
	jdbc.driverClassName=com.mysql.jdbc.Driver
	jdbc.url=jdbc:mysql://localhost:3306/test
	jdbc.username=test
	jdbc.password=test

	#在spring的xml添加如下内容,即可使用属性变量(${jdbc.driverClassName}/${jdbc.url}等):
	<bean id="propertyConfigurer"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="location">
			<value>classpath:jdbc.properties</value>
		</property>
	</bean>

	<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
              <property name="driverClassName">
                     <value>${jdbc.driverClassName}</value>
              </property>
              <property name="url">
                     <value>${jdbc.url}</value>
              </property>
              <property name="username">
                     <value>${jdbc.username}</value>
              </property>
              <property name="password">
                     <value>${jdbc.password}</value>
              </property>
              <property name="maxIdle">
                     <value>2</value>
              </property>
              <property name="maxWaitMillis">
                     <value>120000</value>
              </property>
	</bean>

spring简单笔记的更多相关文章

  1. applicationContext.xml简单笔记

    applicationContext.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <bean ...

  2. struts2,hibernate,spring整合笔记(2)

    上一话struts2,hibernate,spring整合笔记(1) 接下来继续 配置完struts之后就要开始hibernate的配置 hibernate的环境并不依赖web开发环境,在我第一次配置 ...

  3. Spring读书笔记——bean创建(上)

    通过<Spring读书笔记--bean加载>和<Spring读书笔记--bean解析>,我们明白了两件事. Spring如何加载消化一个xml配置文件 Spring如何将xml ...

  4. Spring读书笔记——bean创建(下)

    有关Spring加载bean系列,今天这是最后一篇了,主要接上篇对于从Spring容器中获取Bean的一些细节实现的补充. <Spring读书笔记--bean加载>--Spring如何加载 ...

  5. spring学习笔记(一) Spring概述

    博主Spring学习笔记整理大部分内容来自Spring实战(第四版)这本书.  强烈建议新手购入或者需要电子书的留言. 在学习Spring之前,我们要了解这么几个问题:什么是Spring?Spring ...

  6. Spring学习笔记2——表单数据验证、文件上传

    在上一章节Spring学习笔记1——IOC: 尽量使用注解以及java代码中,已经搭建了项目的整体框架,介绍了IOC以及mybatis.第二节主要介绍SpringMVC中的表单数据验证以及文件上传. ...

  7. 不错的Spring学习笔记(转)

    Spring学习笔记(1)----简单的实例 ---------------------------------   首先需要准备Spring包,可从官方网站上下载.   下载解压后,必须的两个包是s ...

  8. 【Spring学习笔记-MVC-9】SpringMVC数据格式化之日期转换@DateTimeFormat

    作者:ssslinppp       1. 摘要 本文主要讲解Spring mvc数据格式化的具体步骤: 并讲解前台日期格式如何转换为java对象: 在之前的文章<[Spring学习笔记-MVC ...

  9. spring boot 笔记--第三章

    spring boot 笔记 第三章,使用Spring boot 构建系统: 强烈建议支持依赖管理的构建系统,Maven或Gradle 依赖管理: Spring Boot的每版本都会提供它支持的依赖列 ...

随机推荐

  1. Linux Set Command

    1. set -e "Exit immediately if a simple command exits with a non-zero status." When this o ...

  2. PHP开发微信模版消息换行的问题

    微信是个坑!微信是个坑!微信是个坑!重要的时间说三遍 关键的地方是空白换行符到底是什么也不说,百度说是"\n":但是在发送消息的时候发现原样输出,发现json_encode对\n进 ...

  3. python_day5--->递归函数,二分法查找

    li = [1, 5, 6, 7, 12, 22, 33, 44, 55, 66, 77, 88, 99, 111, 222, 333]def er(num,li): if len(li) ==0: ...

  4. VR全景智慧城市搭建掀起实体市场潮流

    在互联网时代的今天,用户体验至上,全景智慧城市搭建作为一个新型的科技展示技术,通过新颖的广告方式更能吸引用户眼球,足不出户,观看现场实景,达到沉浸式体验.在这样的大环境下,全景智慧城市搭建开启了VR全 ...

  5. WEB前端:浏览器(IE+Chrome+Firefox)常见兼容问题处理--02

    兼容问题目录 8.IE6不支持固定定位 9.IE6下前面元素浮动,后面元素不浮动后他们之间会有间隙 10.IE6下双边距问题 11.IE67下父级有边框,子级有margin的话会不起作用 12.IE6 ...

  6. css简单了解

    今天主要是说一下css样式表!HTML结合他使用可以是HTML页面变得很绚丽多彩! 先简单介绍一下为什么要使用CSS(Cascading Style Sheets)层叠样式表! 1.因为CSS样式表可 ...

  7. 安装xampp出错,安装xampp出错,windows找不到-n ?

    安装路径错误的问题 安装参考路径:D:\xampp\子文件

  8. POJ 1207 3N+1 Problem

    更简单的水题,穷举法即可. 需要注意的点: 1.i 和 j的大小关系不确定,即有可能 i>j 2.即使i>j,最后输出的结果也要严格按照输出,亦即如果输入10,1,则对应输出也应为 10 ...

  9. C/C++输入两个任意日期求相隔天数

    将两个日期转换成与一个指定日期(例1970-01-01)之间的差然后计算 思路: 两个日期相隔天数的计算,首先可以将两个日期转换成time_t(从指定日期至1970年1月1日0时0分0秒相隔的秒数), ...

  10. IntelliJ IDEA:给web应用提供JSTL支持

    最近在看<Head First Servlet JSP>学习JSP,看到JSTL一章,为了添加JSTL支持折腾了好久. 网上的教程五花八门,而且多数比较旧. 我尝试了各种方法都没有成功,很 ...