- Add Spring Boot dependent platform version
- Update Spring Boot starter aop dependency
- Add Spring Boot autoconfigure dependency
- Keep Spring Boot starter web dependencies unchanged
- Add Spring Boot dependency platform and autoconfiguration dependencies in the build.gradle.kts file
- The addition of these dependencies helps to enhance project configuration and management capabilities
- Add toString method to the PageResult class to print attribute information of paging results
- The addition of toString method is easy to debug and log, improving the maintainability of the code
- Delete FeignTraceAutoConfiguration, WebClientTraceAutoConfiguration, and RequestIdTaskDecorator
- Refactor TraceAutoConfiguration and use ContextFieldContributor to replace the original filters and interceptors
- Remove the RequestIdUtil class and use StringContextHolder to replace thread local storage
- Update TraceRequestIdProvider and use ContextFieldContributor to provide the request ID
- Remove useless extension functions and filter classes
Removed the configuration items in the application.properties spring.application.name file of the Forgeboot-Trace-API and ForgeBoot-Trace-Impl modules. This configuration, which could lead to duplicate definitions of app names, has been removed from both modules to address possible name conflicts.
- Removed the application.properties files in the ForgeBoot-i18N-API and ForgeBoot-i18N-IMPL modules
- These files only contain spring.application.name attributes and may not need to be configured separately
- Removed the application.properties file in the src/main/resources directory of the forgeboot-banner-impl module
- The file contains only the spring.application.name attribute and may have little impact on the overall functionality
- Added forgeboot-banner module, including API, implementation and launcher submodules
- Update the project structure and integrate new modules into the root project
- Fixed a spelling error in exception-i18n module name
- Add softDelete method to the CrudServiceSpec interface to soft delete entities
- Implement softDelete method in the CrudServiceImplSpec class, including finding entities, marking delete status, and updating entities
- Added setDeleted abstract method, and implements specific tag deletion logic from subclasses
- Add log records, output error message when the corresponding entity cannot be found
- Introduce log extension functions and Core. EXTENSION module
- Added copyList method to BaseMapper interface to convert object list in batch
- Added partialUpdate method in the ConversionMapper interface to partially update entity objects
- Optimized interface document annotations, clarifying the function and parameter meaning of the method
- Adjusted the order of generic parameters to improve code readability
- Move the TraceProperties.kt file from the forgeboot-trace-impl module to the forgeboot-trace-api module
- Update package references in related modules
- Add necessary dependencies in the forgeboot-trace-api module
- Move I18nProperties from impl package to api package
- Update the build configuration of the api package and add Spring Boot Configuration Processor dependencies - Remove unused Spring Cloud dependencies in the api package
- Update package references in automatic configuration and implementation classes
- Add Kotlin JVM plugin and configure source code and documentation Jar
- Added international support module
- Updated project version and naming
- Remove redundant source code task configuration
- Introduce resolvePageable method to parse page requests and return Pageable objects
- Subclasses can now override resolvePageable method to customize paging logic
- Modify the findAll and findAllMapped methods and use the new resolvePageable method for pagination query
- Added the PredicateExtensions.kt file to provide extension functions for the Predicate list
- Added BaseMapper.kt file to define the base mapper interface
- Added ConversionMapper.kt file to define the conversion mapper interface between entity and DTO
- Modify the DeleteByIdsReq class to open class - Modify the PageQueryReq class to change the date type from LocalDateTime to Instant
- Modify the R class and ResponseInformation interfaces, change the response status code type from String to Int- Add mapstruct dependency in build.gradle.kts
- Added exception-i18n module to handle international exceptions
- Reconstruct the original exception module and change it to exception-i18n
- Added WebMvcExceptionAutoConfiguration class to realize automatic configuration of international exceptions
- Added GlobalException and InternalException classes for global exception handling
- Added GlobalExceptionHandler class to realize international global exception handling
- Update the project structure and add necessary dependencies and configurations
- Separate Feign and WebClient-related configurations into separate configuration classes
- Added FeignTraceAutoConfiguration and WebClientTraceAutoConfiguration classes
- Optimized the use of conditional annotations and improved configuration flexibility
- Added logging to facilitate tracking of configuration loading
-Remove the name definition of the MessageSource bean and use the default name
-Simplified the parameters of the i18nMessageResolver method, and directly use the MessageSource type
- Unused constants MESSAGE_SOURCE_BEAN_NAME were removed
- Deleted the config/tasks/sourceTask.gradle.kts file, removed the task of creating source jar files
- Added MapStruct dependency in gradle/libs.versions.toml, version 1.6.3
- Removed internationalized message references in the DeleteByIdsReq and PageQueryReq classes
- Removed the corresponding entry in the associated messages.properties file
- Validation annotations are retained, but specific error messages are removed
- Added the WebMvcExceptionI18nProperties class to configure internationalization-related properties
- Modify the WebMvcExceptionProperties class and add the enable property to control whether internationalization is enabled
- The I18nGlobalExceptionHandler class is added to handle internationalization exceptions
- Modify the GlobalExceptionHandler class to support non-internationalization exception handling
- The I18nGlobalException and I18nInternalException classes have been added for internationalization exceptions
- Modify the InternalException class to simplify the structure of the internal exception
- The BaseResult class has been added as a basic unified response encapsulation class
- Added I18nResult class to provide response encapsulation for internationalization support
- Refactor the R class so that it inherits from BaseResult
- Added the ResponseInformation API to define the standard structure of response information
- Added ResultExtender Fun Interface for extended result mapping
- Rename the InternalInformation interface to I18nInternalInformation
- Rename the ResponseInformation interface to I18nResponseInformation
- Update the relevant references in the I18nBaseException class
Change the project name of the validation module from "forgeboot-validation" to "forgeboot-webmvc-validation",
to maintain consistency with other module naming and enhance the maintainability of the project.
- Added tryOrNull and tryOrFallBack extension functions for graceful exception handling
- A new enumValueOfOrNull extension function is added to safely convert strings to enumerated values
- Rename Logger.kt to LoggerExtensions.kt to better reflect its role as a log extension class
- Updated build.gradle.kts to change slf4j-api dependencies to compileOnly to reduce runtime dependencies
- Rename the delete method to deleteById to explicitly delete by ID
- Rename the delete(ids) method to deleteByIds, explicitly indicating bulk deletion- Rename the delete(entity) method to deleteByOne, explicitly deleting a single entity
- Rename the delete(entities) method to deleteByAll to explicitly delete entities in bulk
- Removed unused MapStruct dependencies
- Added .gitattributes file for config file line terminators and binary file processing
- Added a .gitignore file to ignore project build output and IDE-related files
- Added the CrudRepositorySpec API to define CRUD operations and normalized queries
- Implement the CrudServiceImplSpec class to provide a generic implementation of CRUD services
- Define the CrudServiceSpec interface to standardize the operation of the CRUD service
- Add .gitattributes and .gitignore files to configure the code style and ignore files
- Create a build.gradle.kts file and add project dependencies
- Added the WebMvcExceptionProperties class to configure exception handling related properties: Create the WebMvcExceptionAutoConfiguration class for automatic configuration
- Add the GlobalException and InternalException classes as the base classes for global and internal exceptions
- Implement the GlobalExceptionHandler class to handle all kinds of exceptions in a unified manner
- Added internationalization support and created multilingual message files
- Configure the Gradle build script and project structure
- Added the PageResultExtension.kt file to provide the mapping and conversion function of pagination results
- Updated internationalization message references in the DeleteByIdsReq and PageQueryReq files
- Modify the R.kt file to add default success and failure response information objects
- Simplified project structure by removing redundant internationalized message files
- The responseI8nMessageArgs property is added to the ResponseInformation API to obtain the internationalization message parameters
- Rename the I18nBaseException file to change its implementation language from Java to Kotlin
- Update the errorI18nMessageArgs property in I18nBaseException so that it returns as a nullable array
- Added message attribute files in Chinese, English, and Chinese simplified
- Error messages for paginated queries, result responses, and delete operations are defined
- Provide the basis for subsequent internationalization support and error handling
- Added annotations such as ValidatedForAdd and ValidatedForUpdate for verification of different operations
- Add a ValidationGroups object to define the validation grouping interface
- Implement the ValidationUtils utility class to provide validation functionality
- Create .gitattributes and .gitignore files to standardize the code repository
- Add dependencies related to build.gradle.kts configuration validation
- The SortDirection enumeration class has been added to sort directions
- Added the PageQueryReq pagination query request class
- Added the DeleteByIdsReq deletion request class
- Added the DynamicSpecificationBuilder dynamic query building tool class
- Added the PageResult pagination result class
- Added the R Unified Response Encapsulation class
- Added the SortCondition sorting condition class
- Added relevant internationalization resource files
- Remove invalid Maven repositories
- Add the Kotlin kapt plugin
- Modify the version number increment rule
- Update the submodule name and structure
- Adjusted the inclusion of the internationalization (i18n) and trace modules
- Remove references to common modules