spring in action学习笔记十六:配置数据源的几种方式
第一种方式:JNDI的方式。
用xml配置的方式的代码如下:
1 <jee:jndi-lookup jndi-name="/jdbc/spittrDS" resource-ref="true" id="dataSource"/>
用注解方式的代码如下:
1 @Bean
2 public JndiObjectFactoryBean jndiObjectFactoryBean(){
3 JndiObjectFactoryBean jndiObjectFactoryBean = new JndiObjectFactoryBean();
4 jndiObjectFactoryBean.setJndiName("jdbc/SpittrDS");
5 jndiObjectFactoryBean.setResourceRef(true);
6 jndiObjectFactoryBean.setProxyInterface(DataSource.class);
7 return jndiObjectFactoryBean;
8 }
第二种方式:用连接池的形式:
1.Apache Commons DBCP(Database Connection Pool) (http://jakarta.apache.org/commons/dbcp)
2.c3p0(http://sourceforge.net/projects/c3p0)
3.BoneCP(http://jolbox.com/)
现以BasicDataSource为例进行配置。
xml配置的形式:
1 <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
2 p:driverClassName=""
3 p:password=""
4 p:username=""
5 p:initialSize="3"
6 p:maxIdle="5"/>
注解的形式:
1 @Bean
2 public BasicDataSource dataSource(){
3 BasicDataSource dataSource = new BasicDataSource();
4 dataSource.setDriverClassName("");
5 dataSource.setPassword("");
6 dataSource.setUrl("");
7 dataSource.setUsername("");
8 dataSource.setInitialSize(5);
9 dataSource.setMaxIdle(6);
10 return dataSource;
11 }
第三种方式:用spring提供的类进行数据源的配置
spring用于提供数据源配置的类总共有三个:分别是:DriverManagerDataSource,SimpleDriverDataSource,SingleConnectionDataSource.
这三个类配置数据源的方法与第二种形式相同。这里就不在赘述。
spring in action学习笔记十六:配置数据源的几种方式的更多相关文章
- spring in action 学习笔记十四:用纯注解的方式实现spring mvc
在讲用纯注解的方式实现springmvc之前先介绍一个类:AbstractAnnotationDispatcherServletInitializer.这个类的作用是:任何一个类继承AbstractA ...
- spring in action学习笔记十五:配置DispatcherServlet和ContextLoaderListener的几种方式。
在spring in action中论述了:DispatcherServlet和ContextLoaderListener的关系,简言之就是DispatcherServlet是用于加载web层的组件的 ...
- spring in action 学习笔记十:用@PropertySource避免注入外部属性的值硬代码化
@PropertySource的写法为:@PropertySource("classpath:某个.properties文件的类路径") 首先来看一下这个案例的目录结构,重点看带红 ...
- python3.4学习笔记(十六) windows下面安装easy_install和pip教程
python3.4学习笔记(十六) windows下面安装easy_install和pip教程 easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安 ...
- MyBatis配置数据源的两种方式
---------------------siwuxie095 MyBatis 配置数据源的两种方式 1.配置方 ...
- spring in action学习笔记一:DI(Dependency Injection)依赖注入之CI(Constructor Injection)构造器注入
一:这里先说一下DI(Dependency Injection)依赖注入有种表现形式:一种是CI(Constructor Injection)构造方法注入,另一种是SI(Set Injection) ...
- python 学习笔记十六 django深入学习一 路由系统,模板,admin,数据库操作
django 请求流程图 django 路由系统 在django中我们可以通过定义urls,让不同的url路由到不同的处理函数 from . import views urlpatterns = [ ...
- (C/C++学习笔记) 十六. 预处理
十六. 预处理 ● 关键字typeof 作用: 为一个已有的数据类型起一个或多个别名(alias), 从而增加了代码的可读性. typedef known_type_name new_type_nam ...
- 十四、Android学习笔记_Android回调函数触发的几种方式 广播 静态对象
一.通过广播方式: 1.比如登录.假如下面这个方法是外界调用的,那么怎样在LoginActivity里面执行登录操作,成功之后在回调listener接口呢?如果是平常的类,可以通过构造函数将监听类对象 ...
随机推荐
- 批量更新python库
import pip from subprocess import call for dist in pip.get_installed_distributions(): try: call(&quo ...
- 神经网络系列学习笔记(一)——神经网络之ANN学习资料汇总
ANN tutorial: http://adventuresinmachinelearning.com/neural-networks-tutorial/ https://www.cs.toront ...
- 【机器学习算法基础+实战系列】KNN算法
k 近邻法(K-nearest neighbor)是一种基本的分类方法 基本思路: 给定一个训练数据集,对于新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例多数属于某个类别,就把输 ...
- 第一章 UNIX 基础知识
1.1 Unix体系结构 OS定义为一种软件,它控制计算机硬件资源,提供程序运行环境,一般称其为内核(kernel),它体积小,位于环境中心. 内核的接口为系统调用(system call),共用函数 ...
- 笔记-python-lib-contextlib
笔记-python-lib-contextlib 1. contextlib with 语句很好用,但不想每次都写__enter_-和__exit__方法: py标准库也为此提供了工具模块c ...
- VIM 如何切换buffer
命令 :ls 可查看当前已打开的buffer 命令 :b num 可切换buffer (num为buffer list中的编号) 其它命令: :bn -- buffer列表中下一个 buffer :b ...
- 3 Mongodb数据查询1
1.基本查询 方法find():查询 db.集合名称.find({条件文档}) 方法findOne():查询,只返回第一个 db.集合名称.findOne({条件文档}) 方法pretty():将结果 ...
- Android toolbar menu 字体点击样式
今天在做toolbar的时候,右边的菜单的点击事件,就是文字,然后文字的样式,文字的大小,文字的颜色,高了半天.最后发现,文字点下去之后是有样式的,也就是按下去有阴影. 哥哥的耐心好,就知道这不是问题 ...
- css一些事儿
1. margin和padding 如果边界画一条线,则margin的属于边界外,padding属于边界内 当我们给元素背景色时,margin区域不会被着色,而padding区域会被着色. 当上下两个 ...
- Android通过用代码画虚线椭圆边框背景来学习一下shape的用法
在Android程序开发中,我们经常会去用到Shape这个东西去定义各种各样的形状,shape可以绘制矩形环形以及椭圆,所以只需要用椭圆即可,在使用的时候将控件比如imageview或textview ...