@ComponentScan、@EnableFeignClients和@MapperScan注解筆記


@ComponentScan:此注解是用來管理容器中的bean,即是管理項目中類的依賴關系, 注意此注解並不創建類的實例; 默認情況下此注解掃描本工程下的所有包,                                      但是在springBoot的分布式中如果需要用到別的微服務工程中的實例,那么就要寫為如下的形式。注意要加上本工程。 因為當使用                                                          basePackages時,此注解就不會使用默認的掃描路徑了。

@ComponentScan(basePackages = { 
    "com.wisdombud.dth.boss.customer", "com.wisdombud.dth.boss.his",
"com.wisdombud.dth.boss.product.srv",
"com.wisdombud.dth.boss.product.mapper" })

@EnableFeignClients: 此注解的作用是掃描標記了@FeignClient的接口並創建實例bean,默認掃描並創建所在工程下的包。如果在springBoot的分布式中需要用到別                                         的微服務的工程的接口實例,那么就要寫成如下的形式。注意此注解並不管理bean的依賴的關系

@EnableFeignClients(
        basePackages = { "com.wisdombud.dth.boss.customer",                 
                                   "com.wisdombud.dth.boss.his",
                           "com.wisdombud.dth.boss.product.srv" 
                                 })        

@MapperScan: 此注解是掃描被此注解中聲明的mapper路徑下的*mapper.xml文件,讀取文件配置,並根據此文件中的mapper接口路徑創建bean實例。如下寫法。

/***
 * 功能:客戶datasource 配置.<br/>
 * *date:2018 年10月11日 下午2:17:31<br/>
 * **
 * 
 * @author
 *         joseph
 * @since
 *        JDK 1.8
 */
@Configuration
@EnableConfigurationProperties
@MapperScan(basePackages = "com.wisdombud.dth.boss.customer.mapper", sqlSessionTemplateRef = "custSqlSessionTemplate")
public class DataSourceCustConfig {

    @Bean
    @ConfigurationProperties(prefix = "spring.jta.atomikos.datasource.cust")
    @Primary
    public AtomikosDataSourceBean custDataSource() {
        return new AtomikosDataSourceBean();
    }

    @Bean
    @Primary
    public SqlSessionFactory custSqlSessionFactory(@Qualifier("custDataSource") DataSource dataSource)
            throws Exception {
        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
        bean.setDataSource(dataSource);
        return bean.getObject();
    }

    @Bean
    @Primary
    public SqlSessionTemplate custSqlSessionTemplate(
            @Qualifier("custSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
        return new SqlSessionTemplate(sqlSessionFactory);
    }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM