如何在Java配置文件中配置JNDI数据源,而不是在“web.xml” Servlet上下文中遵循以下代码段:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/DatabaseName</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
最佳答案
注意:不要忘记将“mysql-connector-java-5.1.36.jar”复制到主安装文件夹中的Tomcat的“lib”子文件夹中。
首先:在“pom.xml”文件中添加以下依赖项:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.36</version>
</dependency>
第二:在“webapp”根文件夹中创建META-INF文件夹和“context.xml”文件,如下图所示:
第三:在“context.xml”文件中添加以下代码片段:
<?xml version='1.0' encoding='utf-8'?>
<Context>
<Resource name="jdbc/DatabaseName" auth="Container" type="javax.sql.DataSource"
maxActive="50" maxIdle="30" maxWait="10000"
username="DatabaseUsername" password="DatabasePasssword"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/DatabaseName"/>
</Context>
第四:在Spring Context配置文件中创建以下Bean:
@Bean
public DataSource dataSource() {
JndiDataSourceLookup dataSource = new JndiDataSourceLookup();
dataSource.setResourceRef(true);
return dataSource.getDataSource("jdbc/DatabaseName");
}
注意:“jdbc / DatabaseName”是我们在“context.xml”文件中已经添加的“名称”属性。
关于java - 如何使用Java配置在Tomcat 8中配置JNDI数据源:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32957132/