应用场景:
公司tomcat服务器中运行着多个工程,工程链接的mysql数据库不同,所以每个工程的Spring总配置文件中都配置了数据源。
需求: 将数据源统一拿到tomcat中配置。
本来指派给本人,由于开发任务比较紧,且百度的东西很乱,再就是只写配置不写怎么集合到MVC工程使用,一时半会没整理。暂时推迟了两天,然后,今天同事突然配置完了,还写了完整的文档。鄙人怀着感激涕零的心情,把他的文档,从头到尾,抄了过来~
配置步骤:
作者:皮皮龙(同事):
1、去tomact路径下找到conf文件夹下中的server.xml,context.xml两个xml文件。
2、在server.xml文件中<Service>标签里面加上以下配置(红色部分为tomcat路径)
<!-- 配置debt_system数据库-->
<Context path="/DebtProServices" docBase="D:/webapps/DebtProServices" reloadable="true">
</Context>
<!-- 配置debt_user数据库-->
<Context path="/UserProServices" docBase="D:/webapps/UserProServices" reloadable="true">
</Context>
3、在context.xml文件中<Context>标签里面加上以下配置(黄色底色为数据源name,红色部分为数据库基本配置)
<!-- 配置debt_system数据库-->
<Resource name="jdbc/DebtProServices" auth="Container" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.0.35:3306/debt_system?useUnicode=true&characterEncoding=utf-8"
username="root" password="密码" maxActive="100" maxIdle="30"/>
<!-- 配置debt_user数据库-->
<Resource name="jdbc/UserProServices" auth="Container" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.0.35:3306/debt_user?useUnicode=true&characterEncoding=utf-8"
username="root" password="密码" maxActive="100" maxIdle="30"/>
4、在tomcat路径下找到lib文件夹加入文件(数据库连接驱动,用自己项目中的即可),这里添加了mysql-connector-java-5.1.44-bin.jar
5、在web工程下找到WebRoot/WEB-INF下找到applicationSpringContext.xml,在配置文件中添加以下配置,(红色部分为数据源name)
<!-- 链接tomcat 数据库连接池 start-->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/DebtProServices"/>
</bean>
<!-- jdbcTemplate -->
<bean id="jdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 链接tomcat 数据库连接池 end-->