package com.apobates.forum.member.impl;

import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ComponentScan.Filter;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.context.annotation.Import;
import org.springframework.transaction.annotation.EnableTransactionManagement;

/**
 * 会员模块的配置
 * @author xiaofanku
 * @since 20200511
 */
@Configuration
@EnableCaching
@EnableAspectJAutoProxy(proxyTargetClass=true)
@EnableTransactionManagement(proxyTargetClass = true)
@ComponentScan(basePackages={"com.apobates.forum.member.impl"}, useDefaultFilters=false, includeFilters={@Filter(classes={org.springframework.stereotype.Service.class}),@Filter(classes={org.springframework.stereotype.Repository.class}),@Filter(classes={org.springframework.stereotype.Component.class})})
@Import(value={MemberTaskScheduleConfig.class, RedisMemberEventConfig.class})
public class MemberAppConfig {
    
    @Bean
    public MemberActionAspect buildMa() {
        return new com.apobates.forum.member.impl.MemberActionAspect();
    }

}