Skip to content
CAI
Software that uses CAICheck a score

xkcoding/spring-boot-demo

38.6

Weak · 24 September 2026

16.2k

lines of production code

Java

primary language

5

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a collection of Spring Boot demonstration applications designed to showcase various enterprise integration patterns and middleware capabilities. It provides concrete examples for asynchronous processing, caching, workflow management, and distributed services, alongside integrations with databases, message queues, and monitoring tools. The repository also includes utilities for code generation, reporting, and aspect-oriented logging, serving as a practical reference for implementing these technologies in a Spring Boot environment.

Features

Add Spring Boot AOP demo for request logging

The demo-log-aop module was added to demonstrate how to use AOP (Aspect-Oriented Programming) to log request details. The implementation includes an AOP aspect that captures and logs request parameters, HTTP headers (including User-Agent for browser and OS detection), IP address, URL, execution time, and method signatures. The demo also provides a test controller with GET and POST endpoints to showcase the logging behavior.

demo-log-aop · high confidence

Add Spring Boot Pay Demo Application

A new Spring Boot application named 'demo-pay' has been added to the repository. This includes the main application class, a basic test class, configuration for the server port and context path, and standard IDE/IDEA/NetBeans ignore rules. The application is configured to run on port 8080 with the context path '/demo'.

demo-pay · high confidence

Add Spring Boot demo for UReport2 integration

A new demo module, demo-ureport2, has been added to demonstrate how to integrate the UReport2 reporting engine with a Spring Boot application. This includes the application entry point, a configuration for an internal datasource, application configuration, a SQL script to initialize the database, and a pre-configured XML report template that allows users to generate complex Chinese-style reports via a web-based designer.

demo-ureport2 · high confidence

Add demo modules for Activiti, Actuator, Admin, Async, Cache, Codegen, Docker, Dubbo, Dynamic DataSource, Elasticsearch, Email, Exception Handling, Flyway, Graylog, Helloworld, HTTPS, LDAP, Log AOP, MongoDB, Kafka, RabbitMQ, and RocketMQ

This change introduces a large number of new Spring Boot demo modules, each with its own \pom.xml\ defining dependencies and build configuration. Specifically, it adds support for workflow (Activiti), monitoring (Actuator), administration (Spring Boot Admin), asynchronous processing, caching (Ehcache, Redis), code generation, Docker integration, distributed services (Dubbo), dynamic data sources, Elasticsearch, email, exception handling, database migrations (Flyway), logging (Graylog), basic web apps, HTTPS, LDAP, AOP logging, MongoDB, and various message queues (Kafka, RabbitMQ, RocketMQ).

(dependencies) · high confidence

Added demo modules for Spring Boot async tasks, Ehcache, Redis, and datejs localization

Introduced new demo projects for Spring Boot asynchronous task execution, Ehcache-based caching, and Redis-based caching, each including configuration files, service implementations, and corresponding unit tests. Additionally, added a Chinese (zh-CN) localization file for the datejs library in the codegen demo.

(repo-wide) · high confidence

Added static assets: axios library and Ionicons font

The demo-codegen module now includes the axios v0.18.0 library and the Ionicons SVG font, making these resources available for client-side use within the application.

(repo-wide) · high confidence

New demo applications for Actuator, Admin, Codegen, and Activiti

Added four new demo applications to the repository: a Spring Boot Actuator demo for monitoring endpoints, a Spring Boot Admin server and client setup for centralized monitoring, a code generation tool using Velocity templates and MyBatis-Plus, and an Activiti workflow demo with in-memory security configuration. Each includes the necessary Java classes, configuration files, and tests to demonstrate specific Spring Boot capabilities.

(repo-wide) · high confidence

Removals

Removed Spring Boot demo application and configuration

The Spring Boot demo application (SpringBootDemoHelloworldApplication.java) and its configuration file (application.yml) have been removed from the project. This eliminates the /hello endpoint and associated configuration properties, effectively removing this specific demo module from the codebase.

spring-boot-demo-helloworld · high confidence

Behavioural changes

Removed legacy MyBatis demo configuration and schema

The Spring Boot MyBatis demo application has removed its previous configuration files and database schema. Specifically, the \application.yml\ containing Druid datasource and monitoring settings, as well as the \schema.sql\ defining the \mybatis\_user\ table and initial records, have been deleted. This change eliminates the hardcoded MySQL connection details and sample data from the demo project.

spring-boot-demo-mybatis · medium confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 44 → 39 (-5.3)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 96 → 98 (+2.2)
  • Architecture 100 → 89 (-10.7)
  • Maturity 76 → 76 (+0.0)
  • Readiness 37 → 27 (-10.6)
  • Security 55 → 57 (+1.5)
  • Domain Modelling 74 → 59 (-15.5)
  • Accessibility 32 → 31 (-1.4)

Resolved (43)

  • CodeGenUtil.generatorCode (cognitive 23) (demo-codegen/src/main/java/com/xkcoding/codegen/utils/CodeGenUtil.java)
  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • Duplicated block (10 lines × 4) (demo-template-beetl/src/main/java/com/xkcoding/template/beetl/controller/IndexController.java)
  • Duplicated block (13 lines × 4) (demo-mq-rabbitmq/src/main/java/com/xkcoding/mq/rabbitmq/handler/DelayQueueHandler.java)
  • Duplicated block (5 lines × 2) (demo-websocket/src/main/java/com/xkcoding/websocket/util/IpUtil.java)
  • Duplicated block (6 lines × 2) (demo-upload/src/main/java/com/xkcoding/upload/controller/UploadController.java)
  • Duplicated block (6 lines × 2) (demo-websocket/src/main/java/com/xkcoding/websocket/util/IpUtil.java)
  • Duplicated block (6 lines × 3) (demo-task-xxl-job/src/main/java/com/xkcoding/task/xxl/job/controller/ManualOperateController.java)
  • Duplicated block (8 lines × 2) (demo-websocket/src/main/java/com/xkcoding/websocket/util/IpUtil.java)
  • Duplicated block (8 lines × 3) (demo-email/src/main/java/com/xkcoding/email/service/impl/MailServiceImpl.java)
  • Duplicated block (9 lines × 2) (demo-email/src/main/java/com/xkcoding/email/service/impl/MailServiceImpl.java)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • …and 23 more

New (253)

  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no project overview (README.md)
  • Documentation: no usage examples (README.md)
  • Duplicated block (10 lines × 2) (demo-websocket/src/main/java/com/xkcoding/websocket/util/IpUtil.java)
  • Duplicated block (11 lines × 2) (demo-exception-handler/src/main/java/com/xkcoding/exception/handler/exception/BaseException.java)
  • Duplicated block (12 lines × 4) (demo-template-beetl/src/main/java/com/xkcoding/template/beetl/controller/IndexController.java)
  • Duplicated block (14 lines × 4) (demo-mq-rabbitmq/src/main/java/com/xkcoding/mq/rabbitmq/handler/DelayQueueHandler.java)
  • Duplicated block (25 lines × 2) (demo-elasticsearch-rest-high-level-client/src/main/java/com/xkcoding/elasticsearch/exception/ElasticsearchException.java)
  • Duplicated block (39 lines × 2) (demo-ratelimit-guava/src/main/java/com/xkcoding/ratelimit/guava/controller/TestController.java)
  • Duplicated block (39 lines × 4) (demo-template-beetl/src/main/java/com/xkcoding/template/beetl/controller/UserController.java)
  • Duplicated block (43 lines × 2) (demo-elasticsearch-rest-high-level-client/src/main/java/com/xkcoding/elasticsearch/common/Result.java)
  • Duplicated block (5 lines × 2) (demo-websocket/src/main/java/com/xkcoding/websocket/util/IpUtil.java)
  • Duplicated block (52 lines × 2) (demo-codegen/src/main/java/com/xkcoding/codegen/common/R.java)
  • Duplicated block (54 lines × 2) (demo-multi-datasource-jpa/src/main/java/com/xkcoding/multi/datasource/jpa/config/PrimaryDataSourceConfig.java)
  • Duplicated block (6 lines × 2) (demo-upload/src/main/java/com/xkcoding/upload/controller/UploadController.java)
  • Duplicated block (7 lines × 2) (demo-cache-redis/src/main/java/com/xkcoding/cache/redis/config/RedisConfig.java)
  • Duplicated block (7 lines × 3) (demo-task-xxl-job/src/main/java/com/xkcoding/task/xxl/job/controller/ManualOperateController.java)
  • Duplicated block (77 lines × 2) (demo-cache-ehcache/src/main/java/com/xkcoding/cache/ehcache/service/impl/UserServiceImpl.java)
  • …and 233 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

xkcoding/spring-boot-demo was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 24 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 87a142f9604c1a5365b4d24d22c2c11c26a9d5ab — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-5f8d0eb43fd7.