web.xml會加載contextConfigLocation配置,以zone為例
找到applicationContext-zone.xml配置文件,會加載mybatis的session工廠
這時候找到DataSource配置文件
會去找數據庫連接池
jndi(Java Naming and Directory Interface,Java命名和目錄接口)是一組在Java應用中訪問命名和目錄服務的API。命名服務將名稱和對象聯系起來,使得我們可以用名稱
訪問對象。目錄服務是一種命名服務,在這種服務里,對象不但有名稱,還有屬性。
tomcat配置jndi有全局配置和局部配置。
接着找jndi的配置文件,配置文件我的是
會發現
環境配置再去tomcat服務器的配置文件下去找
這時候就能找到目標了
再去配置下找
實際代碼為:
<Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" factory="com.alibaba.druid.pool.DruidDataSourceFactory" filters="wall,stat,slf4j" initialSize="5" logAbandoned="true" maxActive="30" maxPoolPreparedStatementPerConnectionSize="20" maxWait="10000" minEvictableIdleTimeMillis="300000" minIdle="5" name="SPT/zonedb" password="G3nkMcF6uStnM6bU" poolPreparedStatements="true" removeAbandoned="false" removeAbandonedTimeout="180" testOnBorrow="false" testOnReturn="false" testWhileIdle="true" timeBetweenEvictionRunsMillis="60000" type="javax.sql.DataSource" url="jdbc:mysql://192.168.1.30:3306/sptzonedb_dev?useUnicode=true&characterEncoding=UTF-8" username="testdbuser" validationQuery="SELECT 1"/>
實際上有可能是因為缺少jar依賴導致的