{"adoption": {"forks": 3139, "observed_at": "2026-08-28T04:09:48.377144+00:00", "stars": 6762}, "canonical_url": "https://ross.abutalabs.com/products/springboot", "card": {"archived": false, "artifact_type": "learning-resource", "description": "springboot 框架与其它组件结合如 jpa、mybatis、websocket、security、shiro、cache等", "domain": ["web-development", "backend", "developer-tools", "tutorials", "databases", "security"], "enriched": true, "function": ["web-framework", "auth", "authorization", "orm", "websocket", "caching", "message-queue", "search-engine", "scheduling", "api-documentation", "developer-tools"], "health_score": 20, "homepage": null, "language": "Java", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["527515025/springBoot"], "name": "527515025/springBoot", "platform": ["jvm"], "pushed_at": "2024-01-27T09:59:46+00:00", "repo": "527515025/springBoot", "stars": 6762, "tags": ["spring-boot", "spring-security", "shiro", "mybatis", "jpa", "websocket", "redis", "dubbo", "kafka", "elasticsearch", "quartz", "swagger", "example-code", "tutorial-collection", "multi-datasource"], "topics": [], "urls": [], "use_cases": ["learn how to integrate Spring Security with database-managed roles and permissions", "example of Spring Boot with WebSocket broadcast and point-to-point messaging", "set up Redis or Guava caching in Spring Boot", "integrate Shiro for permission control in Spring Boot", "connect Spring Boot to Kafka or Elasticsearch", "configure multiple data sources in one Spring Boot project", "schedule tasks with Quartz in Spring Boot", "generate API docs with Swagger UI in Spring Boot"], "what_it_is": "A collection of Spring Boot example projects demonstrating integration with common components such as Spring Security, Shiro, MyBatis, JPA, WebSocket, Redis cache, Kafka, Elasticsearch, Dubbo, Quartz, and Swagger. Each module accompanies a Chinese-language blog post explaining the integration.", "when_to_avoid": ["you need a production-ready framework or starter library", "you require an actively maintained project with a license and timely issue support", "you need non-Java or non-Spring Boot examples"], "when_to_choose": ["you are learning Spring Boot integrations and want runnable example code tied to tutorials", "you need a reference for Spring Security, Shiro, WebSocket, caching, or Dubbo setups in Spring Boot"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/springboot", "repo": "527515025/springBoot", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.377144+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:42:33.875069+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0798f90cb6eadce5d897fad8bb581f2fe710591db95dd842572dce68f0b9030", "fetched_at": "2026-08-28T04:09:48.377144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/527515025/springBoot"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.377144+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:42:33.875069+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0798f90cb6eadce5d897fad8bb581f2fe710591db95dd842572dce68f0b9030", "fetched_at": "2026-08-28T04:09:48.377144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/527515025/springBoot"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:42:33.875069+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0798f90cb6eadce5d897fad8bb581f2fe710591db95dd842572dce68f0b9030", "fetched_at": "2026-08-28T04:09:48.377144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/527515025/springBoot"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.377144+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.377144+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.377144+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:42:33.875069+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0798f90cb6eadce5d897fad8bb581f2fe710591db95dd842572dce68f0b9030", "fetched_at": "2026-08-28T04:09:48.377144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/527515025/springBoot"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.377144+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.377144+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:42:33.875069+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0798f90cb6eadce5d897fad8bb581f2fe710591db95dd842572dce68f0b9030", "fetched_at": "2026-08-28T04:09:48.377144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/527515025/springBoot"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.377144+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.377144+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.377144+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:42:33.875069+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0798f90cb6eadce5d897fad8bb581f2fe710591db95dd842572dce68f0b9030", "fetched_at": "2026-08-28T04:09:48.377144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/527515025/springBoot"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.377144+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.377144+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:42:33.875069+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0798f90cb6eadce5d897fad8bb581f2fe710591db95dd842572dce68f0b9030", "fetched_at": "2026-08-28T04:09:48.377144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/527515025/springBoot"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:42:33.875069+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0798f90cb6eadce5d897fad8bb581f2fe710591db95dd842572dce68f0b9030", "fetched_at": "2026-08-28T04:09:48.377144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/527515025/springBoot"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:42:33.875069+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0798f90cb6eadce5d897fad8bb581f2fe710591db95dd842572dce68f0b9030", "fetched_at": "2026-08-28T04:09:48.377144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/527515025/springBoot"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:42:33.875069+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0798f90cb6eadce5d897fad8bb581f2fe710591db95dd842572dce68f0b9030", "fetched_at": "2026-08-28T04:09:48.377144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/527515025/springBoot"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3587, "days_push": 949, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}