Spring MVC 使用 JNDI 配置的DataSource

稍微看了下,Spring 中JNDI 的使用,弄了个小例子。有很多不完备的地方,以后慢慢看,再改吧。

<一> 技术使用

  • Spring MVC
  • JDBC Template
  • Maven
  • JNDI

<二> 一些配置

  1. Maven POM 配置
    1. spring-context、spring-webmvc、spring-orm、spring-jdbc、mysql-connector-java等
  2. 创建数据库
create database usersdb;

CREATE TABLE `users` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(45) NOT NULL,
  `password` varchar(45) NOT NULL,
  `email` varchar(45) NOT NULL,
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=latin1

3.在Tomcat 中配置JNDI 数据源

也可以在其它地方配置,比如web.xml 中配置。这个配置,是为了JNDI 能够查找到该数据源。

<Resource
name="jdbc/UsersDB"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/usersDB"
username="XXX"
password="YYY"
/>

说明:Resource 的name 属性 "jdbc/UserDB" 将会在Spring-MVC 中使用到。

说明:所谓的在tomcat 中配置,可以是在tomcat 的 context.xml 中,添加该Resource entry。

<三>Java 开发

1.Mode, user.java

public class User {
	private int id;
	private String username;
	private String password;
	private String email;
	// getter setter
}

2.DAO 类

public interface UserDAO {
	public List<User> list();
}

可以用JDBC Template 实现该数据操作,并作操作扩展。

3. 在Spring MVC 中引入JNDI 数据源

由于我使用的是Spring 4, 我倾向于Java Config 的模式,所以引入JNDI 的方法如下:

@Bean
public UserDAO getUserDao() throws NamingException {
    JndiTemplate jndiTemplate = new JndiTemplate();
    DataSource dataSource =(DataSource) jndiTemplate.lookup("java:comp/env/jdbc/UsersDB");
    return new UserDAOImpl(dataSource);
}

说明 comp/env 这个前缀是有必要的。

4.Controller 类

@Controller
public class HomeController {

	@Autowired
	private UserDAO userDao;

	@RequestMapping(value="/")
	public ModelAndView home() throws IOException{
		List<User> listUsers = userDao.list();
		ModelAndView model = new ModelAndView("home");
		model.addObject("userList", listUsers);
		return model;
	}
}

5.前端展示部分如下:

<div align="center">
    <h1>Contact List</h1>
    <table border="1">
        <th>No</th>
	<th>Username</th>
	<th>Email</th>
	        
	    <c:forEach var="user" items="${userList}" varStatus="status">
	    <tr>
	        <td>${status.index + 1}</td>
		<td>${user.username}</td>
		<td>${user.email}</td>
	    </tr>
            </c:forEach>	        
    </table>
</div>

<四> 效果如下

一个简陋的页面如下:

时间: 2024-10-25 22:03:04

Spring MVC 使用 JNDI 配置的DataSource的相关文章

spring MVC、mybatis配置读写分离

spring MVC.mybatis配置读写分离 1.环境: 3台数据库机器,一个master,二台slave,分别为slave1,slave2 2.要实现的目标: ①使数据写入到master ②读数据时,从slave1和slave2中读取 以此来实现数据库的读写分离 3.原理: 使用MySQL驱动自带的replicationDriver来实现,replicationDriver简单来说就是存在两个Connection,一个masterConnection,一个slaveConnection:

Spring MVC全注解配置 - 无web.xml

Serlvet 3以后,我们可以使用注解来配置Servlet,对于像Spring这类的框架来说是一个很好的适应.Spring也对此特性加入了很多的新功能.本文就将简单的对之前的xml配置转换为java代码的配置.代码配置让程序员们觉得更加具有流程化,不像配置很多代码程序员们都不愿意look into. 接下来,进行替换我们之前的web.xml和spring-mvc.xml的配置.也就是在你的web工程里面看不到这两个配置文件了.(可能有的童鞋会说,这样配置可能对以后的修改不方便,无法达到只修改配

Spring4.X + spring MVC + Mybatis3 零配置应用开发框架搭建详解(1) - 基本介绍

Spring4.X + spring MVC + Mybatis3 零配置应用开发框架搭建详解(1) - 基本介绍 spring集成 mybatis Spring4.x零配置框架搭建 两年前一直在做后台的纯Java开发,很少涉及web开发这块,最近换了个纯的互联网公司,需要做Web后台管理系统,之前都是用xml配置的项目,接触了公司Spring4.x的零配置项目,觉得非常有感觉,不仅仅配置简单,而且条理清晰,所以,这里把学习的内容记录下来,一来加深对这块技术的印象,另外准备做个简单的教程,如果给

Spring MVC原理及配置详解

Spring MVC原理及配置 1.Spring MVC概述: Spring MVC是Spring提供的一个强大而灵活的web框架.借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单.这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中. Spring MVC主要由DispatcherServlet.处理器映射.处理器(控制器).视图解析器.视图组成.他的两个核心是

Spring MVC XML 的配置

JavaEE体系结构包括四层,从上到下分别是应用层.Web层.业务层.持久层.Struts和这篇文章中讲解的SpringMVC是Web层的框架,Spring是业务层的框架,之前文章中讲解的Hibernate和MyBatis是持久层的框架. SpringMVC是一种基于Java,实现了Web MVC(模型 - 视图 - 控制器)设计模式,请求驱动类型的轻量级的开源的Web框架,即用了MVC架构模式的思想,将Web层进行职责解耦.基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发

Spring MVC原理及配置

Spring MVC原理及配置 1. Spring MVC概述 Spring MVC是Spring提供的一个强大而灵活的web框架.借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单.这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中. Spring MVC主要由DispatcherServlet.处理器映射.处理器(控制器).视图解析器.视图组成. 2. Spr

spring 4 + jpa(hibernate 3/4) + spring mvc 多数据源配置

先从persistence.xml开始: <?xml version=”1.0″ encoding=”UTF-8″?><persistence version=”2.1″ xmlns=”http://java.sun.com/xml/ns/persistence” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://java.sun.com/xml/ns/persistence

Java spring mvc多数据源配置

1.首先配置两个数据库 <bean id="dataSourceA"         class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <proper

Spring MVC 的 XML 配置方式

索引: 开源Spring解决方案--lm.solution 参看代码 GitHub: solution/pom.xml solution/webapi/pom.xml solution/mapper/pom.xml web.xml spring-mvc.xml spring-context.xml dbconfig.properties log4j.properties RESTfulController.java 一.要点讲解 1.引入构建 spring .spring mvc 的框架类库 s