tomcat中配置jndi数据源以便spring获取

【0】README
0)intro to jndi, plase visit intro to jndi;
1)本文译自 Configuring Spring MVC JdbcTemplate with JNDI Data Source in Tomcat;
2)本文旨在分析如何通过springmvc 获取 JNDI 数据源 以连接到数据库;
3)for jndi datasource for db conn pooling in tomcat, please visit  Configuring JNDI DataSource for Database Connection Pooling in Tomcat;

【1】具体steps
step1)数据库请自行创建;
step2)在tomcat中配置jndi数据源:在tomcat_home/conf/context.xml 文件添加 Resource元素,代码如下:(请注意修改用户名和密码)
<Resourcename="jdbc/spring"auth="Container"type="javax.sql.DataSource"maxActive="100"maxIdle="30"maxWait="10000"driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost:3306/usersDB"username="root"password="secret"/>
step3)在spring mvc 中获取 jndi数据源
step3.1)java config的方式获取
@Configuration
public class RepositoryConfig {@Bean  // 引入jndi数据源public JdbcTemplate getJdbcTemplate(DataSource ds) {return new JdbcTemplate(ds);}/*@Bean // 使用数据源连接池 配置数据源public BasicDataSource getDataSource() {BasicDataSource ds = new BasicDataSource();ds.setDriverClassName("com.mysql.jdbc.Driver");ds.setUrl("jdbc:mysql://localhost:3306/t_spring");ds.setUsername("root");ds.setPassword("root");return ds;}*/@Bean  // 使用JNDI 配置数据源.public DataSource dataSource() {JndiTemplate jndiTemplate = new JndiTemplate();DataSource dataSource = null;      try {dataSource = (DataSource) jndiTemplate.lookup("java:comp/env/jdbc/spring");} catch (NamingException e) {e.printStackTrace();}return dataSource;}
} 
step3.2) XML 配置的方式获取
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"><property name="jndiName" value="java:comp/env/jdbc/spring"/>
</bean><!-- 下面进行引用就可以了 -->
<bean id="userDao" class="net.codejava.spring.dao.UserDAOImpl"><constructor-arg><ref bean="dataSource" /></constructor-arg>
</bean>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331112.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Machine Learning:十大机器学习算法

转载自 Machine Learning&#xff1a;十大机器学习算法摘要: - 机器学习算法分类&#xff1a;监督学习、无监督学习、强化学习 - 基本的机器学习算法&#xff1a;线性回归、支持向量机(SVM)、最近邻居(KNN)、逻辑回归、决策树、k平均、随机森林、朴素贝叶斯、降维、梯度增强 机…

Java的值传递解析

值传递与引用传递 最近学基础的时候&#xff0c;老师讲了值传递和引用传递&#xff0c;这个问题一直不太明白&#xff0c;上网查了很多资料&#xff0c;按照自己的理解整理了一遍&#xff0c;发现之前不太明白的地方基本上想明白了&#xff0c;如有不正确的地方&#xff0c;欢…

spring(13)缓存数据

【0】README1&#xff09;本文部分文字描述转自&#xff1a;“Spring In Action&#xff08;中/英文版&#xff09;”&#xff0c;旨在review “spring(13)缓存数据” 的相关知识&#xff1b;2&#xff09;缓存&#xff1a;缓存可以存储经常会用到的信息&#xff0c;这样每次需…

漫画:什么是分布式事务

转载自 漫画&#xff1a;什么是分布式事务&#xff1f;————— 第二天 —————————————————假如没有分布式事务 在一系列微服务系统当中&#xff0c;假如不存在分布式事务&#xff0c;会发生什么呢&#xff1f;让我们以互联网中常用的交易业务为例子&#…

Spring4.2.6+SpringMVC4.2.6+MyBatis3.4.0 整合

【0】README0&#xff09;本文旨在 review Spring4.2.6SpringMVC4.2.6MyBatis3.4.0 整合过程&#xff1b;1&#xff09;项目整合所涉及的源代码&#xff0c;please visit https://github.com/pacosonTang/MyBatis/tree/master/spring4mvc_mybatis32&#xff09;由于晚辈我还不…

ibatis(0)ibatis 与 mybatis 简述

【0】README:1&#xff09;本文旨在给出 ibatis 与 mybatis 简述&#xff0c;简述内容转自 如下链接&#xff1b;【1】main contents1&#xff09;apache offical declarationhttp://ibatis.apache.org/.apache ibatis is retired at the apache software foundation (2010/06/…

Java面试大纲

转载自 金三银四跳槽季&#xff0c;Java面试大纲跳槽时时刻刻都在发生&#xff0c;但是我建议大家跳槽之前&#xff0c;先想清楚为什么要跳槽。切不可跟风&#xff0c;看到同事一个个都走了&#xff0c;自己也盲目的面试起来&#xff08;期间也没有准备充分&#xff09;&#x…

ibatis(1)ibatis的理念

【0】README1&#xff09;本文部分内容转自 “ibatis in action”&#xff0c;旨在 review “ibatis的理念” 的相关知识&#xff1b;【1】结合所有优秀思想的混合型解决方案在现实世界中&#xff0c;混合型解决方案随处可见。将两个看上去相悖的思想在中间处巧妙结合&#xff…

究竟啥才是互联网架构“高并发”

转载自 究竟啥才是互联网架构“高并发”一、什么是高并发 高并发&#xff08;High Concurrency&#xff09;是互联网分布式系统架构设计中必须考虑的因素之一&#xff0c;它通常是指&#xff0c;通过设计保证系统能够同时并行处理很多请求。高并发相关常用的一些指标有响应时间…

ibatis(2)ibatis是什么

【0】README1&#xff09;本文部分内容转自 “ibatis in action”&#xff0c;旨在 review “ibatis是什么” 的相关知识&#xff1b;2&#xff09;intro to ibatis&#xff1a; ibatis 就是数据映射器&#xff0c;Martin Fowler在《企业应用架构模式》中&#xff0c;对 data m…

究竟啥才是互联网架构“高可用”

转载自 究竟啥才是互联网架构“高可用”一、什么是高可用 高可用HA&#xff08;High Availability&#xff09;是分布式系统架构设计中必须考虑的因素之一&#xff0c;它通常是指&#xff0c;通过设计减少系统不能提供服务的时间。 假设系统一直能够提供服务&#xff0c;我们说…

maven(3)maven3.3.9使用入门

【0】README1&#xff09;maven 安装step1&#xff09;检查 jdk 是否安装且 环境变量 JAVA_HOME 是否设置&#xff1b;step2&#xff09;download maven&#xff1a; https://maven.apache.org/download.cgi?Preferredftp://mirror.reverse.net/pub/apache/step3&#xff09;…

TCP接入层的负载均衡、高可用、扩展性架构

转载自 TCP接入层的负载均衡、高可用、扩展性架构 一、web-server的负载均衡 互联网架构中&#xff0c;web-server接入一般使用nginx来做反向代理&#xff0c;实施负载均衡。整个架构分三层&#xff1a; 上游调用层&#xff0c;一般是browser或者APP 中间反向代理层&#xff…

使用poi统计工作职责

1 创建一个新的sheet工作页 Sheet job workbook.createSheet("工作职责统计"); 2 查询工作职责问题选项列表&#xff0c;并设置第一行倒出时间 List<Syslistconfig> listconfigs syslistconfigDao.listConfig(29); //工作职责问题选项列表job.createRow(0)…

漫画:什么是字典序算法

转载自 漫画&#xff1a;什么是字典序算法&#xff1f;算法题目&#xff1a; 给定一个正整数&#xff0c;实现一个方法来求出离该整数最近的大于自身的“换位数”。 什么是换位数呢&#xff1f;就是把一个整数各个数位的数字进行全排列&#xff0c;从而得到新的整数。例如53241…

mybatis_user_guide(2)mybatis3.4.0快速入门

【0】README0&#xff09;以下部分内容转自&#xff1a;“mybatis v.3.4.0 User Guide”&#xff1b;1&#xff09;本文旨在梳理 如何 构建 mybatis 环境&#xff0c;与 db 连接&#xff0c;且采用 JUnit 搭建其测试用例&#xff1b;2&#xff09;本文的环境配置都是基于纯 my…

jQuery中的几个案例:隔行变色、复选框全选和全不选

1 表格隔行变色 1 技术分析&#xff1a; 1 &#xff09;基本过滤选择器&#xff1a; odd: even: 2 &#xff09;jq添加和移除样式&#xff1a; addClass(); removeClass(); 2 代码实现 <script src"js/jquery1.11.3/jquery.min.js" type"text/javasc…

从 Linux 源码看 Socket 的阻塞和非阻塞

转载自 从 Linux 源码看 Socket 的阻塞和非阻塞笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码&#xff0c;是一件Exciting的事情。大部分高性能网络框架采用的是非阻塞模式。笔者这次就从linux源码的角度来阐述socket阻塞(block)和非阻塞(non_block)的区别。 本…

pojo和javabean的区别

【0】README 1&#xff09;本文转自&#xff1a; http://wenku.baidu.com/view/eba89bbcf121dd36a32d828a.html 【1】正文如下&#xff1a; POJO 和JavaBean是我们常见的两个关键字&#xff0c;一般容易混淆&#xff0c;POJO全称是Plain Ordinary Java Object / Pure Old Jav…

使用poi调整字体格式、添加单元格注释、自动调整列宽

1 创建新的工作铺 import java.io.FileOutputStream;import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apa…