开源项目 TypeHandlers-Encrypt 使用教程
1. 项目的目录结构及介绍
TypeHandlers-Encrypt 项目的目录结构如下:
typehandlers-encrypt/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ ├── com/
│ │ │ │ ├── drtrang/
│ │ │ │ │ ├── typehandlers/
│ │ │ │ │ │ ├── encrypt/
│ │ │ │ │ │ │ ├── AESEncryptionTypeHandler.java
│ │ │ │ │ │ │ ├── Base64TypeHandler.java
│ │ │ │ │ │ │ ├── EncryptionTypeHandler.java
│ │ │ │ │ │ │ ├── EncryptionTypeHandlerFactory.java
│ │ │ │ │ │ │ ├── EncryptionTypeHandlerRegistry.java
│ │ │ │ │ │ │ ├── EncryptionTypeHandlerSupport.java
│ │ │ │ │ │ │ ├── NoOpEncryptionTypeHandler.java
│ │ │ │ │ │ │ └── package-info.java
│ │ │ │ │ │ └── utils/
│ │ │ │ │ │ ├── AESUtils.java
│ │ │ │ │ │ └── package-info.java
│ │ │ │ │ └── TypeHandlersEncryptAutoConfiguration.java
│ │ │ │ └── TypeHandlersEncryptProperties.java
│ │ ├── resources/
│ │ │ ├── META-INF/
│ │ │ │ └── spring.factories
│ │ │ └── application.yml
│ ├── test/
│ │ ├── java/
│ │ │ ├── com/
│ │ │ │ ├── drtrang/
│ │ │ │ │ ├── typehandlers/
│ │ │ │ │ │ ├── encrypt/
│ │ │ │ │ │ │ ├── AESEncryptionTypeHandlerTest.java
│ │ │ │ │ │ │ ├── Base64TypeHandlerTest.java
│ │ │ │ │ │ │ └── EncryptionTypeHandlerTest.java
│ │ │ │ │ │ └── utils/
│ │ │ │ │ │ └── AESUtilsTest.java
│ │ │ │ │ └── TypeHandlersEncryptAutoConfigurationTest.java
│ │ │ │ └── TypeHandlersEncryptPropertiesTest.java
│ │ ├── resources/
│ │ │ └── application-test.yml
├── .gitignore
├── LICENSE
├── README.md
├── pom.xml
└── typehandlers-encrypt.iml
目录结构介绍
src/main/java/com/drtrang/typehandlers/encrypt/
:包含加密相关的 TypeHandler 实现。src/main/java/com/drtrang/typehandlers/utils/
:包含加密工具类。src/main/java/com/drtrang/TypeHandlersEncryptAutoConfiguration.java
:自动配置类。src/main/java/com/drtrang/TypeHandlersEncryptProperties.java
:配置属性类。src/main/resources/application.yml
:配置文件。src/test/
:包含测试代码。pom.xml
:Maven 项目配置文件。README.md
:项目说明文档。
2. 项目的启动文件介绍
项目的启动文件主要是 TypeHandlersEncryptAutoConfiguration.java
,它负责自动配置加密 TypeHandler。
@Configuration
@EnableConfigurationProperties(TypeHandlersEncryptProperties.class)
@ConditionalOnProperty(prefix = "typehandlers.encrypt", name = "enabled", havingValue = "true", matchIfMissing = true)
public class TypeHandlersEncryptAutoConfiguration {
@Bean
public EncryptionTypeHandlerRegistry encryptionTypeHandlerRegistry(TypeHandlersEncryptProperties properties) {
return new EncryptionTypeHandlerRegistry(properties);
}
}
启动文件介绍
@Configuration
:表明这是一个配置