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