package org.dromara.common.encrypt.config; import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration; import com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties; import lombok.extern.slf4j.Slf4j; import org.dromara.common.encrypt.core.EncryptorManager; import org.dromara.common.encrypt.interceptor.MybatisDecryptInterceptor; import org.dromara.common.encrypt.interceptor.MybatisEncryptInterceptor; import org.dromara.common.encrypt.properties.EncryptorProperties; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; /** * 加解密配置 * * @author 老马 * @version 4.6.0 */ @AutoConfiguration(after = MybatisPlusAutoConfiguration.class) @EnableConfigurationProperties(EncryptorProperties.class) @ConditionalOnProperty(value = "mybatis-encryptor.enable", havingValue = "true") @Slf4j public class EncryptorAutoConfiguration { @Autowired private EncryptorProperties properties; @Bean public EncryptorManager encryptorManager(MybatisPlusProperties mybatisPlusProperties) { return new EncryptorManager(mybatisPlusProperties.getTypeAliasesPackage()); } @Bean public MybatisEncryptInterceptor mybatisEncryptInterceptor(EncryptorManager encryptorManager) { return new MybatisEncryptInterceptor(encryptorManager, properties); } @Bean public MybatisDecryptInterceptor mybatisDecryptInterceptor(EncryptorManager encryptorManager) { return new MybatisDecryptInterceptor(encryptorManager, properties); } }