Update Log CHANGELOG
[V1.2.2-RELEASE] 2019.08.26 🏇
⭐️ New Features
- Interceptor Enables Disabled Configuration
- File upload and download security/privilege control
- Enable logback.xml log configuration
⚡️ Optimization
- Change core package directory
- Download Upload Interceptor
- logback.xml displays line numbers
- application.yml Interceptor Configuration Added include-path Interception Path Configuration
📝 Added/Modified
- Add Upload Interceptor File Upload Global Interceptor
- Add Download Interceptor File Download Global Interceptor
- Add Download Handler DefaultDownload Handler File Download Callback Custom Processor
- Modify config/WebMvcConfig --> core/SpringBootPlusWebMvcConfig
- Modify Image Controller - > ResouceController, request path / api/resource
- Add SysUser CRUD
🐞 Bug Fixes
- Potential Security Vulnerabilities in Fix File Download Path, Filtering.. / Illegal Path Parameters
- Fix optimized file download, Firefox Chinese garbled problem
📔 Documentation
🔨 Dependency Upgrades
- pom.xml uses spring-boot-starter-validation to replace hibernate-validator dependencies
5 minutes to complete the addition, deletion and alteration check
1. Create database tables
-- ---------------------------- -- Table structure for sys_user -- ---------------------------- drop table if exists `sys_user`; create table sys_user( id bigint not null comment 'Primary key', name varchar(20) null comment 'User name', account varchar(20) not null comment 'Account number', pwd varchar(20) not null comment 'Password', remark varchar(200) null comment 'Remarks', create_time timestamp default CURRENT_TIMESTAMP null comment 'Creation time', update_time timestamp null comment 'Modification time', primary key (`id`), constraint sys_user_account_uindex unique (account) ) comment 'System user'; -- ---------------------------- -- Records of sys_user -- ---------------------------- INSERT INTO sys_user (id, name, account, pwd, remark, create_time, update_time) VALUES (1, 'Administrator', 'admin', '123456', 'Administrator Account', '2019-08-26 00:52:01', null);
2. Generating Added, Deleted and Altered Code by Code Generator
Modifying database information
Modify component name/author/database table name/primary key id
/src/test/java/io/geekidea/springbootplus/test/CodeGenerator.java
/** * spring-boot-plus Code generator entry class * @author geekidea * @date 2018-11-08 */ public class CodeGenerator { private static final String USER_NAME = "root"; private static final String PASSWORD = "root"; private static final String DRIVER_NAME = "com.mysql.jdbc.Driver"; private static final String DRIVER_URL = "jdbc:mysql://localhost:3306/spring_boot_plus?useUnicode=true&characterEncoding=UTF-8&useSSL=false"; // CODE... // ############################ Configuration section start############################ // Module name private static final String MODULE_NAME = "system"; // author private static final String AUTHOR = "geekidea"; // Generated table name private static final String TABLE_NAME = "sys_user"; // Primary key database column name private static final String PK_ID_COLUMN_NAME = "id"; // Code generation policy true: All/false:SIMPLE private static final boolean GENERATOR_STRATEGY = true; // Paging List Query Sort true: Sort parameter / false: None private static final boolean PAGE_LIST_ORDER = false; // ############################ Configuration section end############################ public static void main(String[] args) { // Run... } }
3. Start the project
Project entry class
/src/main/java/io/geekidea/springbootplus/SpringBootPlusApplication.java
/** * spring-boot-plus Project initiation entry * @author geekidea * @since 2018-11-08 */ @EnableAsync @EnableScheduling @EnableTransactionManagement @EnableConfigurationProperties @EnableAdminServer @MapperScan({"io.geekidea.springbootplus.**.mapper"}) @SpringBootApplication public class SpringBootPlusApplication { public static void main(String[] args) { // Start spring-boot-plus ConfigurableApplicationContext context = SpringApplication.run(SpringBootPlusApplication.class, args); // Print project information PrintApplicationInfo.print(context); } }
4. Access project swagger documents
http://127.0.0.1:8888/swagger-ui.html