2 回答
TA贡献1719条经验 获得超6个赞
Tomcat 不是像 Weblogic 那样的 Java EE 容器。如果您真的想继续使用 JNDI,请查看 TomEE。
就个人而言,我会让 Spring 管理数据库连接。使用像 Spring 这样的框架的优点是它从您的应用程序运行的容器中承担了很多责任,例如。数据库连接。
Spring Boot 通过查看以下内容自动配置数据源:
你
application.yml
的 JDBC url 和用户名/密码您
pom.xml
可以查看它将使用哪个数据库驱动程序(Spring Boot 也可以从您的 JDBC url 派生该驱动程序,但您必须添加驱动程序库)
真的没什么可做的了。
您现在可以自动装配DataSource
或使用 SpringJdbcTemplate
来避免大量样板代码。
TA贡献1797条经验 获得超6个赞
这可以使用配置文件使用 @Bean 注释来初始化 TomcatEmbeddedServletContainerFactory 。请参阅下面的代码片段,这可能会有所帮助。以下是需要根据您的需要更新的格式之一。
@Bean
public TomcatEmbeddedServletContainerFactory tomcatFactory() {
return new TomcatEmbeddedServletContainerFactory() {
@Override
protected TomcatEmbeddedServletContainer getTomcatEmbeddedServletContainer(Tomcat tomcat) {
tomcat.enableNaming();
return super.getTomcatEmbeddedServletContainer(tomcat);
}
/* (non-Javadoc)
* @see org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory#postProcessContext(org.apache.catalina.Context)
*/
@Override
protected void postProcessContext(Context context) {
ContextResource resource = new ContextResource();
resource.setName("your_app_DS_name");
resource.setType("your_app_property");
resource.setProperty("driverClassName", "your_app_Drive");
resource.setProperty("factory", "your_app_factory_property_details");
//similarly configure other needed and dependent properties.
context.getNamingResources().addResource(resource);
}
};
}
添加回答
举报