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);
|
}
|
|
}
|