java spring jndi配置_Spring MVC 使用 JNDI 配置的DataSource

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

技术使用

Spring MVC

JDBC Template

Maven

JNDI

一些配置

Maven POM 配置

spring-context、spring-webmvc、spring-orm、spring-jdbc、mysql-connector-java等

创建数据库

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 能够查找到该数据源。

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 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 listUsers = userDao.list();

ModelAndView model = new ModelAndView("home");

model.addObject("userList", listUsers);

return model;

}

}

5.前端展示部分如下:

Contact List

${status.index + 1}${user.username}${user.email}

效果如下

一个简陋的页面如下:

4d738633f974d22f8d350ac2635cfb09.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值