2 回答

TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊
Tomcat 不是像 Weblogic 那樣的 Java EE 容器。如果您真的想繼續(xù)使用 JNDI,請(qǐng)查看 TomEE。
就個(gè)人而言,我會(huì)讓 Spring 管理數(shù)據(jù)庫(kù)連接。使用像 Spring 這樣的框架的優(yōu)點(diǎn)是它從您的應(yīng)用程序運(yùn)行的容器中承擔(dān)了很多責(zé)任,例如。數(shù)據(jù)庫(kù)連接。
Spring Boot 通過(guò)查看以下內(nèi)容自動(dòng)配置數(shù)據(jù)源:
你
application.yml
的 JDBC url 和用戶名/密碼您
pom.xml
可以查看它將使用哪個(gè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序(Spring Boot 也可以從您的 JDBC url 派生該驅(qū)動(dòng)程序,但您必須添加驅(qū)動(dòng)程序庫(kù))
真的沒(méi)什么可做的了。
您現(xiàn)在可以自動(dòng)裝配DataSource
或使用 SpringJdbcTemplate
來(lái)避免大量樣板代碼。

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
這可以使用配置文件使用 @Bean 注釋來(lái)初始化 TomcatEmbeddedServletContainerFactory 。請(qǐng)參閱下面的代碼片段,這可能會(huì)有所幫助。以下是需要根據(jù)您的需要更新的格式之一。
@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);
}
};
}
添加回答
舉報(bào)