[fishing artifact] UCode Cms management system has built-in super easy-to-use code generator to solve the pain points of multi meter connection

Posted by scrubbicus on Mon, 21 Feb 2022 05:32:43 +0100

1, Preface

UCode Cms content management system is an important part of Java knowledge map and a scaffold for enterprise application software development. Current version 1.3.3.

Use simple demo project Quick experience Address.

(1) Project characteristics

1. Source code open source

The source code is open-source, and the MIT open-source license agreement is used. Individual or enterprise users can use it freely and safely Source address.

2. Get started quickly

Create a new empty project, introduce relevant dependencies, initialize the database, start the project, and a project scaffold will be built. The more convenient operation is cloning demo project , modify the database connection and start the project.

<!--ucode-cms Core dependency-->
<dependency>
    <groupId>xin.altitude.cms</groupId>
    <artifactId>ucode-cms-spring-boot-starter</artifactId>
    <version>1.3.3</version>
</dependency>

(2) Internal logic of the project

1. Standardization

Standardization is the core connotation of UCodeCms project, that is, the universal functions are condensed into immutable and independent Maven dependencies, which can be configured by users on demand.

2. High cohesion and low coupling

The design principle of high cohesion and low coupling is widely used to encapsulate the source code that users rarely modify. At the same time, switches that can be modified and configured are provided to reduce the use cost.

3. Building block project structure

Core dependencies only need to introduce ucode CMS spring boot starter to initialize the project, and the starter has built-in other core dependencies.

├── ucode-cms-common                        // Cms general module (dependent and can be used across projects)
├── ucode-cms-framework                     // Cms core module
├── ucode-cms-spring-boot-starter           // Cms starter (core dependency)
├── ucode-cms-system                        // Cms system module

Based on the core dependency, the optional dependency is defined: code generator module, system UI module, system monitoring module, task scheduling module and Excel module. The optional dependency is similar to building blocks and can be selected as needed.

2, Project details

(1) Project structure

UCode Cms source code project structure is as follows

├── cms-ui                              // System UI source code
├── sql                                 // System database SQL script
├── ucode-cms-admin                     // Test demo project (not required)
├── ucode-cms-code                      // Code generator source code
├── ucode-cms-code-spring-boot-starter  // Code generator starter
├── ucode-cms-common                    // Common code part (core dependency, cross project use)
├── ucode-cms-excel                     // Excel processing module source code
├── ucode-cms-framework                 // Core dependency
├── ucode-cms-job                       // Task scheduling source code
├── ucode-cms-monitor                   // System monitoring source code
├── ucode-cms-spring-boot-starter       // Core starter
├── ucode-cms-system                    // System source code
└── ucode-cms-ui                        // System UI partial dependency

(2) Core dependency

The dependency list provided by Maven is as follows:

<!--ucode-cms Core dependency-->
<dependency>
    <groupId>xin.altitude.cms</groupId>
    <artifactId>ucode-cms-spring-boot-starter</artifactId>
    <version>1.3.3</version>
</dependency>

(3) Optional dependency

Optional dependencies have two meanings: one is that dependencies not included in ucode CMS spring boot starter can be added as needed; the other is that dependencies not yet used in ucode CMS spring boot starter can be removed as needed.

1. General code

Common code dependencies can be used across projects, not limited to this project. The built-in tool class EntityUtils plays an important role in MybatisPlus multi table join query.

<dependency>
    <groupId>xin.altitude.cms.common</groupId>
    <artifactId>ucode-cms-common</artifactId>
    <version>1.3.3</version>
</dependency>
2. Visual interface

Visual interface can be introduced as required.

<dependency>
    <groupId>xin.altitude.cms.ui</groupId>
    <artifactId>ucode-cms-ui</artifactId>
    <version>1.3.3</version>
</dependency>
3. Timed task

If there is a need for visual management of scheduled tasks, this module can be introduced.

<dependency>
    <groupId>xin.altitude.cms.job</groupId>
    <artifactId>ucode-cms-job</artifactId>
    <version>1.3.3</version>
</dependency>
4. System monitoring

If there is a need for system monitoring, this module can be introduced.

<dependency>
    <groupId>xin.altitude.cms.monitor</groupId>
    <artifactId>ucode-cms-monitor</artifactId>
    <version>1.3.3</version>
</dependency>
5. Table processing
<dependency>
    <groupId>xin.altitude.cms.excel</groupId>
    <artifactId>ucode-cms-excel</artifactId>
    <version>1.3.3</version>
</dependency>

(3) Characteristic function

The CmsConfig configuration class controls the operation behavior of the system. All built-in configurations can be modified in the global configuration file.

1. Code generator

Check the library table structure through the visual interface to achieve the effect of localization and rapid code generation. The database table structure with foreign key relationship between tables also supports one-to-one, one to many and many to many seamless connection. Quick experience Address.

2. Built in interface list

When the project leaves the factory, it comes with the interface list feature, which can quickly realize the joint debugging and docking of interfaces and reduce the communication cost.

The interface list can be turned on or off in the global configuration file.

3. Visual task scheduling

The visual task scheduling module needs to be introduced separately, which is very friendly to the management of task scheduling.

Introduce dependency

<!--Scheduled task dependency (not required)-->
<dependency>
    <groupId>xin.altitude.cms.job</groupId>
    <artifactId>ucode-cms-job</artifactId>
    <version>1.3.3</version>
</dependency>

Global profile enable

ucode.job.enabled: true

Original address

Topics: Java Spring Spring Boot