@Bean public DataSource masterDataSource() throws IllegalArgumentException, NamingException { JndiObjectFactoryBean bean = new JndiObjectFactoryBean(); bean.setJndiName("jdbc/test"); bean.setProxyInterface(DataSource.class); bean.setLookupOnStartup(false); bean.setResourceRef(true); bean.afterPropertiesSet(); return (DataSource) bean.getObject(); }
tomcat 中context.xml配置java
<Resource name="jdbc/test" auth="Container" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://locahlhost:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true" username="supbaoxuan" password="root" testOnBorrow="true" type="javax.sql.DataSource" initialSize="3" maxIdle="10" maxTotal="15" maxWaitMillis="30000" minIdle="3" validationQuery="select 'X'"/>
Spring Boot 2.0版本怎麼玩呢?mysql
打包成war包spring
經過上一篇文章,咱們能夠把配置放到tomcat/conf/context.xml裏,那麼在Spring Boot中,咱們只要配置jndi指向的名稱就能夠了,對於這個點的,Spring Boot仍是提供了相應的配置的,在application.properties添加以下配置:sql
spring.datasource.jndi-name=jdbc/testtomcat