Spring boot構成SqlSessionFactory


Spring公式は比較的完璧なデータベース構成を提供していますが、場合によっては自分で手動でロードする必要があります(例えば、マルチデータソースを構成する)以下は私が収集して整理したconfigurationです.不足点や間違いは皆さんに提出してください.
package cn.xt.config;

import org.mybatis.spring.SqlSessionFactoryBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

/**
 * SqlSession  
 */
@Configuration
public class SqlSessionConfig {

    private Logger logger = LoggerFactory.getLogger(SqlSessionConfig.class);

    @Value("${spring.datasource.jndi-name}")
    private String dataSourceJndiName;

    @Value("${mybatis.mapper-locations}")
    private String mapperLocations;

    @Bean
    public SqlSessionFactoryBean createSqlSessionFactory() {
        SqlSessionFactoryBean sqlSessionFactoryBean = null;
        try {
            //   JNDI  
            Context context = new InitialContext();
            DataSource dataSource = (DataSource)context.lookup(dataSourceJndiName);

            //   SessionFactory
            sqlSessionFactoryBean = new SqlSessionFactoryBean();
            //      
            sqlSessionFactoryBean.setDataSource(dataSource);

            //   MyBatis    
            PathMatchingResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
            //      ,         ( :classpath*:mapper/**/*.xml)
            sqlSessionFactoryBean.setMapperLocations(resourcePatternResolver.getResources(mapperLocations));
            //   mybatis config  (      )
            // sqlSessionFactoryBean.setConfigLocation("mybatis-config.xml");
        } catch (Exception e) {
            logger.error("  SqlSession      :{}", e);
        }
        return sqlSessionFactoryBean;
    }
}


ymlでのJNDIの構成
spring:
  # db
  datasource:
    jndi-name: 'java:comp/env/jdbc/spring_db'
    
# mybatis config
mybatis:
  mapper-locations: classpath*:mapper/**/*.xml

tomcatのcontext.xmlでの構成