CINXE.COM

ehcache · GitHub Topics · GitHub

<!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true" > <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-7aa84bb7e11e.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-f65db3e8d171.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-a8258e3c6dda.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-7e97d834719c.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-01d869f460be.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-534f3e971240.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-a8cc7d138001.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-35e9dfdc4f9f.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-cf4cc5f62dfe.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-d9abecd14f1e.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-93aded0ee8a1.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-8bed0685a4b5.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-a954a02d9269.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/site-f271fae03c1c.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/explore-742a7653565b.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dashboard-0de2bd46c6d8.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/discussions-dae9ae1a46a6.css" /> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["bypass_copilot_indexing_quota","copilot_immersive_file_preview","copilot_new_references_ui","copilot_attach_folder_reference","copilot_personal_instructions","copilot_personal_instructions_templates","copilot_chat_repo_custom_instructions_preview","copilot_chat_retry_on_error","copilot_chat_persist_submitted_input","copilot_conversational_ux_history_refs","copilot_chat_shared_chat_input","copilot_editor_upsells","copilot_dotcom_chat_reduce_telemetry","copilot_implicit_context","copilot_no_floating_button","copilot_smell_icebreaker_ux","copilot_read_shared_conversation","dotcom_chat_client_side_skills","experimentation_azure_variant_endpoint","failbot_handle_non_errors","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","github_models_o3_mini_streaming","hovercard_accessibility","issues_react_remove_placeholders","issues_react_blur_item_picker_on_close","issues_react_include_bots_in_pickers","marketing_pages_search_explore_provider","remove_child_patch","sample_network_conn_type","swp_enterprise_contact_form","site_copilot_extensions_ga","site_copilot_vscode_link_update","site_proxima_australia_update","issues_react_create_milestone","issues_react_cache_fix_workaround","lifecycle_label_name_updates"]}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-c6d50aae516a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-9da652f58479.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-3abb8f-d7e6bc799724.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-4600dbf2d60a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-f04cb2a9fc8c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-0dbb79f97f8f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-f6da4b3fa34c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-a74b4e0a8a6b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-78748950cb0c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-a1760ffda83d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-ceef33f593fa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-c44a69-f0c8a795d1fd.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-44d18ad044b3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-682f1551aebf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-2906d7-2a07a295af40.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-be8cb88f481b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-7c534c-a4a1922eb55f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-e3cbe28f1638.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-6cf3320416b8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-e3180fe3bcb3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-947061-205cd97df772.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-a1563f62660e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-f48a418a99d4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-8fa27fd7fbb6.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-87a4ae-e2caa5390f5a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-783fc7e142e5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-17d1e0503b7c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-f6223d90c7ba.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-e12489347ccf.js"></script> <title>ehcache · GitHub Topics · GitHub</title> <meta name="route-pattern" content="/topics/:topic_name(.:format)" data-turbo-transient> <meta name="route-controller" content="topics" data-turbo-transient> <meta name="route-action" content="show" data-turbo-transient> <meta name="current-catalog-service-hash" content="82c569b93da5c18ed649ebd4c2c79437db4611a6a1373e805a3cb001c64130b7"> <meta name="request-id" content="C948:3B7B93:E5283:109631:67B6B668" data-pjax-transient="true"/><meta name="html-safe-nonce" content="c5de1ecd7324371f21a77d0b1d2bfbd4db7f01998da65cba9aa4ddc9ab7de7d8" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDOTQ4OjNCN0I5MzpFNTI4MzoxMDk2MzE6NjdCNkI2NjgiLCJ2aXNpdG9yX2lkIjoiMjMyNTE5MDkxOTQ5OTIwMDEwNCIsInJlZ2lvbl9lZGdlIjoic291dGhlYXN0YXNpYSIsInJlZ2lvbl9yZW5kZXIiOiJzb3V0aGVhc3Rhc2lhIn0=" data-pjax-transient="true"/><meta name="visitor-hmac" content="34dd2b5b38ec4c9be1a7ff3d1b7a942d75ed2108045f42e5c3728f80beb85e52" data-pjax-transient="true"/> <meta name="github-keyboard-shortcuts" content="copilot" data-turbo-transient="true" /> <meta name="selected-link" value="/topics/ehcache" data-turbo-transient> <link rel="assets" href="https://github.githubassets.com/"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content="GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/topics/ehcache" /> <meta property="og:url" content="https://github.com"> <meta property="og:site_name" content="GitHub"> <meta property="og:title" content="Build software better, together"> <meta property="og:description" content="GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects."> <meta property="og:image" content="https://github.githubassets.com/assets/github-logo-55c5b9a1fe52.png"> <meta property="og:image:type" content="image/png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="1200"> <meta property="og:image" content="https://github.githubassets.com/assets/github-mark-57519b92ca4e.png"> <meta property="og:image:type" content="image/png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="620"> <meta property="og:image" content="https://github.githubassets.com/assets/github-octocat-13c86b8b336d.png"> <meta property="og:image:type" content="image/png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="620"> <meta property="twitter:site" content="github"> <meta property="twitter:site:id" content="13334762"> <meta property="twitter:creator" content="github"> <meta property="twitter:creator:id" content="13334762"> <meta property="twitter:card" content="summary_large_image"> <meta property="twitter:title" content="GitHub"> <meta property="twitter:description" content="GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects."> <meta property="twitter:image" content="https://github.githubassets.com/assets/github-logo-55c5b9a1fe52.png"> <meta property="twitter:image:width" content="1200"> <meta property="twitter:image:height" content="1200"> <meta name="hostname" content="github.com"> <meta name="expected-hostname" content="github.com"> <meta http-equiv="x-pjax-version" content="aa1f307fd18ed85af4ef18e39f63f849739c9f2fe5e453545eac670b5ab8593f" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="463ee08ca3497fca0ad4eda59bb472c35eea254161aa1aec5f7ce12f247d2ecd" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="1c71206221e00a0a8e77d94d48d954f34ddbd711c4a0ced954fd49cd786cfa61" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="7e82c4220ec79a588b8ee4781df482abcc1877daea3d5e61982761c4d8d84a54" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div class="position-relative header-wrapper js-header-wrapper "> <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-9a5713772ca5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-af33445b6fc3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-f1bca44e0926.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-611691cca2f6.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-62da9f-2df2f32ec596.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-f7cc96ebae76.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-55fea94174bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-e571874765ef.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-6540c642c6aa.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.e159a7f290fa5e4dd43e.module.css" /> <react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> <div data-target="react-partial.reactRoot"></div> </react-partial> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-73b675cf164a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-2d195d11c56b.js"></script> <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark> <h2 class="sr-only">Navigation Menu</h2> <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> <span class="d-none">Toggle navigation</span> </button> <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> <div class="flex-1"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> </span> </button> </div> <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" href="/" aria-label="Homepage" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Logomark;ref_loc:Header&quot;}"> <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path> </svg> </a> <div class="flex-1 flex-order-2 text-right"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Ftopics%2Fehcache" class="HeaderMenu-link HeaderMenu-button d-inline-flex d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4ad377e975e59a85ae3b8624930869c3144c3a3394423aa6d87f06edc76b8d21" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to Sign in&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" > Sign in </a> </div> </div> <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> <nav class="HeaderMenu-nav" aria-label="Global"> <ul class="d-lg-flex list-style-none"> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Product <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_copilot&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_copilot_link_product_navbar&quot;}" href="https://github.com/features/copilot"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Write better code with AI </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_product_navbar&quot;}" href="https://github.com/features/security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Security</div> Find and fix vulnerabilities </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;actions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;actions_link_product_navbar&quot;}" href="https://github.com/features/actions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"> <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> </svg> <div> <div class="color-fg-default h4">Actions</div> Automate any workflow </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;codespaces&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;codespaces_link_product_navbar&quot;}" href="https://github.com/features/codespaces"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"> <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> <div> <div class="color-fg-default h4">Codespaces</div> Instant dev environments </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;issues&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;issues_link_product_navbar&quot;}" href="https://github.com/features/issues"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"> <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> </svg> <div> <div class="color-fg-default h4">Issues</div> Plan and track work </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_review&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_review_link_product_navbar&quot;}" href="https://github.com/features/code-review"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"> <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Review</div> Manage code changes </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;discussions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;discussions_link_product_navbar&quot;}" href="https://github.com/features/discussions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Discussions</div> Collaborate outside of code </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_search&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_search_link_product_navbar&quot;}" href="https://github.com/features/code-search"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"> <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Search</div> Find more, search less </div> </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;all_features&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;all_features_link_product_navbar&quot;}" href="https://github.com/features"> All features </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;documentation&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;documentation_link_product_navbar&quot;}" href="https://docs.github.com"> Documentation <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_skills&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_skills_link_product_navbar&quot;}" href="https://skills.github.com"> GitHub Skills <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;blog&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;blog_link_product_navbar&quot;}" href="https://github.blog"> Blog <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Solutions <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 pb-lg-3 mb-3 mb-lg-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprises&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}" href="https://github.com/enterprise"> Enterprises </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}" href="https://github.com/team"> Small and medium teams </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;startups&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}" href="https://github.com/enterprise/startups"> Startups </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;nonprofits&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;nonprofits_link_solutions_navbar&quot;}" href="/solutions/industry/nonprofits"> Nonprofits </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devsecops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}" href="/solutions/use-case/devsecops"> DevSecOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}" href="/solutions/use-case/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ci_cd&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ci_cd_link_solutions_navbar&quot;}" href="/solutions/use-case/ci-cd"> CI/CD </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}" href="/solutions/use-case"> View all use cases </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;healthcare&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}" href="/solutions/industry/healthcare"> Healthcare </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;financial_services&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}" href="/solutions/industry/financial-services"> Financial services </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;manufacturing&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}" href="/solutions/industry/manufacturing"> Manufacturing </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;government&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}" href="/solutions/industry/government"> Government </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_industries&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}" href="/solutions/industry"> View all industries </a></li> </ul> </div> </div> <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"> <a href="/solutions"> View all solutions <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Resources <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ai&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}" href="/resources/articles/ai"> AI </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}" href="/resources/articles/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}" href="/resources/articles/security"> Security </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;software_development&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}" href="/resources/articles/software-development"> Software Development </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_link_resources_navbar&quot;}" href="/resources/articles"> View all </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;learning_pathways&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;learning_pathways_link_resources_navbar&quot;}" href="https://resources.github.com/learn/pathways"> Learning Pathways <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;events_amp_webinars&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;events_amp_webinars_link_resources_navbar&quot;}" href="https://resources.github.com"> Events &amp; Webinars <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ebooks_amp_whitepapers&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ebooks_amp_whitepapers_link_resources_navbar&quot;}" href="https://github.com/resources/whitepapers"> Ebooks &amp; Whitepapers </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;customer_stories&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}" href="https://github.com/customer-stories"> Customer Stories </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;partners&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}" href="https://partner.github.com"> Partners <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;executive_insights&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;executive_insights_link_resources_navbar&quot;}" href="https://github.com/solutions/executive-insights"> Executive Insights </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Open Source <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_sponsors&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}" href="/sponsors"> <div> <div class="color-fg-default h4">GitHub Sponsors</div> Fund open source developers </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;the_readme_project&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;the_readme_project_link_open_source_navbar&quot;}" href="https://github.com/readme"> <div> <div class="color-fg-default h4">The ReadME Project</div> GitHub community articles </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;topics&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}" href="https://github.com/topics"> Topics </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;trending&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}" href="https://github.com/trending"> Trending </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;collections&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}" href="https://github.com/collections"> Collections </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Enterprise <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}" href="/enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"> <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> </svg> <div> <div class="color-fg-default h4">Enterprise platform</div> AI-powered developer platform </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;advanced_security&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;advanced_security_link_enterprise_navbar&quot;}" href="https://github.com/enterprise/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Advanced Security</div> Enterprise-grade security features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_copilot&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_copilot_link_enterprise_navbar&quot;}" href="/features/copilot#enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Enterprise-grade AI features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;premium_support&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}" href="/premium-support"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Premium Support</div> Enterprise-grade 24/7 support </div> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;pricing&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;pricing_link_global_navbar&quot;}" href="https://github.com/pricing">Pricing</a> </li> </ul> </nav> <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"> <qbsearch-input class="search-input" data-scope="" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="SiOuMApkPxRcrEJIsL5Ba0S-YnkCmsl0OI-eFE-AnOnwtiPiHVU1VYQ-YmIXP8Huv48jv3cIBXxeufkUFjHGDQ" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="" data-current-org="" data-current-owner="" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> <div class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" data-action="click:qbsearch-input#searchInputContainerClicked" > <button type="button" class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" data-target="qbsearch-input.inputButton" aria-label="Search or jump to…" aria-haspopup="dialog" placeholder="Search or jump to..." data-hotkey=s,/ autocapitalize="off" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;searchbar&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}" data-action="click:qbsearch-input#handleExpand" > <div class="mr-2 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </div> <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> </div> </button> <input type="hidden" name="type" class="js-site-search-type-field"> <div class="Overlay--hidden " data-modal-dialog-overlay> <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> <div class="Overlay-body Overlay-body--paddingNone"> <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" style="border-radius: 12px;" data-target="qbsearch-input.queryBuilderContainer" hidden > <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> <div class="FormControl FormControl--fullWidth"> <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> Search </label> <div class="QueryBuilder-StyledInput width-fit " data-target="query-builder.styledInput" > <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </span> <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> <div aria-hidden="true" class="QueryBuilder-StyledInputContent" data-target="query-builder.styledInputContent" ></div> <div class="QueryBuilder-InputWrapper"> <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div> <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-2f9b4e4b-8b35-4f04-8046-507434603db7" data-target="query-builder.input" data-action=" input:query-builder#inputChange blur:query-builder#inputBlur keydown:query-builder#inputKeydown focus:query-builder#inputFocus " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" /> </div> </div> <span class="sr-only" id="query-builder-test-clear">Clear</span> <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" click:query-builder#clear focus:query-builder#clearButtonFocus blur:query-builder#clearButtonBlur " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> </svg> </button> </div> <template id="search-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </template> <template id="code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="file-code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> </svg> </template> <template id="history-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> </svg> </template> <template id="repo-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </template> <template id="bookmark-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="plus-circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> </template> <template id="trash-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> </svg> </template> <template id="team-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> </svg> </template> <template id="project-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> </svg> </template> <template id="pencil-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> </svg> </template> <template id="copilot-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="copilot-error-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> </svg> </template> <template id="workflow-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="book-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </template> <template id="code-review-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="codespaces-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> </template> <template id="comment-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="comment-discussion-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </template> <template id="organization-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="rocket-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </template> <template id="shield-check-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="heart-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> </template> <template id="server-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="globe-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> </svg> </template> <template id="issue-opened-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </template> <template id="device-mobile-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> </svg> </template> <template id="package-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> </svg> </template> <template id="credit-card-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> </svg> </template> <template id="play-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </template> <template id="gift-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> </svg> </template> <template id="code-square-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="device-desktop-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> </svg> </template> <div class="position-relative"> <ul role="listbox" class="ActionListWrap QueryBuilder-ListWrap" aria-label="Suggestions" data-action=" combobox-commit:query-builder#comboboxCommit mousedown:query-builder#resultsMousedown " data-target="query-builder.resultsList" data-persist-list=false id="query-builder-test-results" ></ul> </div> <div class="FormControl-inlineValidation" id="validation-2f9b4e4b-8b35-4f04-8046-507434603db7" hidden="hidden"> <span class="FormControl-inlineValidation--visual"> <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg> </span> <span></span> </div> </div> <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> </query-builder></form> <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"> <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">Search syntax tips</a> <div class="d-flex flex-1"></div> </div> </div> </div> </div> </modal-dialog></div> </div> <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> <div class="color-fg-default"> <dialog-helper> <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="feedback-dialog-title"> Provide feedback </h1> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="feedback-dialog-title"> <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="5GAo6m2DNuhxYOcwtfgP/CayuHw3Mo2HJNsCn1taW1cxiMBb3yBcV+nxWmgOGeJqT5lGYdrO7uZNLnt29SbcQg==" /> <p>We read every piece of feedback, and take your input very seriously.</p> <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> </form></div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback </button> </div> </dialog></dialog-helper> <custom-scopes data-target="qbsearch-input.customScopesManager"> <dialog-helper> <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header Overlay-header--divided"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="custom-scopes-dialog-title"> Saved searches </h1> <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="custom-scopes-dialog-title"> <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="lvacwOmwclb+8RZOTtPp5fzXq1Ov8Lc34x9IUvbFTqQQh7LNEhYwwLoDstefbq409/URKOR0lmxbolCnUKYmiQ==" /> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> <div class="form-group"> <label for="custom_scope_name">Name</label> <auto-check src="/search/custom_scopes/check_name" required only-validate-on-blur="false"> <input type="text" name="custom_scope_name" id="custom_scope_name" data-target="custom-scopes.customScopesNameField" class="form-control" autocomplete="off" placeholder="github-ruby" required maxlength="50"> <input type="hidden" data-csrf="true" value="/tkxlEU3lgId2Yb2fwEouns8ccnIkTlA9LXvqxG9QHO3kseTq5zVkQzx3o3Nik4sEpKRnDAGPrVQelN3PNg42A==" /> </auto-check> </div> <div class="form-group"> <label for="custom_scope_query">Query</label> <input type="text" name="custom_scope_query" id="custom_scope_query" data-target="custom-scopes.customScopesQueryField" class="form-control" autocomplete="off" placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" required maxlength="500"> </div> <p class="text-small color-fg-muted"> To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. </p> </form> </div> <div data-target="custom-scopes.manageCustomScopesForm"> <div data-target="custom-scopes.list"></div> </div> </div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search </button> </div> </dialog></dialog-helper> </custom-scopes> </div> </qbsearch-input> <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Ftopics%2Fehcache" class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded rounded-lg-0 px-2 py-1" style="margin-left: 12px;" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4ad377e975e59a85ae3b8624930869c3144c3a3394423aa6d87f06edc76b8d21" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" > Sign in </a> </div> <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2Ftopics%2Fehcache&amp;source=header" class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4ad377e975e59a85ae3b8624930869c3144c3a3394423aa6d87f06edc76b8d21" data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/topics/ehcache;ref_cta:Sign up;ref_loc:header logged out&quot;}" > Sign up </a> <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Reseting focus</button> </div> </div> </div> </div> </header> <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <button id="icon-button-7cec8e15-86d9-4bb2-bc1c-e092c7a091a1" aria-labelledby="tooltip-40a38059-4c55-4eb3-be15-fabd7dc2a786" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button><tool-tip id="tooltip-40a38059-4c55-4eb3-be15-fabd7dc2a786" for="icon-button-7cec8e15-86d9-4bb2-bc1c-e092c7a091a1" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> </div> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container" class="flash-container" data-turbo-replace> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div > <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div aria-atomic="true" role="alert" class="js-flash-alert"> <div>{{ message }}</div> </div> </div> </div> </template> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled data-project-hovercards-enabled > <main> <div class="site-subnav color-bg-default site-subnav-sticky js-sticky" > <nav class="container-lg mx-auto p-responsive" role="navigation" aria-label="Explore navigation"> <div class="d-flex flex-wrap flex-items-center flex-justify-center flex-md-justify-start text-center text-md-left"> <a class="js-selected-navigation-item d-inline-block subnav-primary f5 py-0 py-md-3 mt-2 mt-md-0 mr-0 mr-md-4 no-underline subnav-link" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;NAVIGATION_BAR&quot;,&quot;click_target&quot;:&quot;EXPLORE&quot;,&quot;click_visual_representation&quot;:&quot;CLICK_VISUAL_REPRESENTATION_UNKNOWN&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="361e6e56aa500a29e4183ca0bd9c3fa0daf4dcca7e2b2925a6ffe86c809a1428" data-selected-links="/explore /explore/email /explore" href="/explore">Explore</a> <a class="js-selected-navigation-item selected d-inline-block py-2 py-md-3 mr-3 mr-md-4 no-underline subnav-link" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;NAVIGATION_BAR&quot;,&quot;click_target&quot;:&quot;TOPICS&quot;,&quot;click_visual_representation&quot;:&quot;CLICK_VISUAL_REPRESENTATION_UNKNOWN&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8372739847b59d7c1fd69a9d1052cfc30a5cdcec688b60571c76670e236e7212" aria-current="page" data-selected-links="topics_path /topics/ehcache /topics" href="/topics">Topics</a> <a class="js-selected-navigation-item d-inline-block py-2 py-md-3 mr-3 mr-md-4 no-underline subnav-link" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;NAVIGATION_BAR&quot;,&quot;click_target&quot;:&quot;TRENDING&quot;,&quot;click_visual_representation&quot;:&quot;CLICK_VISUAL_REPRESENTATION_UNKNOWN&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c6f05b584bec3a7cf5ae311bc0b05f189e03bbb154f88a28c992b1b904b7192a" data-selected-links="/trending /trending/developers /trending/developers /trending /trending" href="/trending">Trending</a> <a class="js-selected-navigation-item d-inline-block py-2 py-md-3 mr-3 mr-md-4 no-underline subnav-link" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;NAVIGATION_BAR&quot;,&quot;click_target&quot;:&quot;COLLECTIONS&quot;,&quot;click_visual_representation&quot;:&quot;CLICK_VISUAL_REPRESENTATION_UNKNOWN&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2e7597775c81c8f12dcf0868a7d9004bcafc5f0265fc917e011adcd84d9b1d3e" data-selected-links="collections_path /collections/ /collections" href="/collections">Collections</a> <a class="js-selected-navigation-item d-inline-block py-2 py-md-3 mr-3 mr-md-4 no-underline subnav-link" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;NAVIGATION_BAR&quot;,&quot;click_target&quot;:&quot;EVENTS&quot;,&quot;click_visual_representation&quot;:&quot;CLICK_VISUAL_REPRESENTATION_UNKNOWN&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="42f01663551c3f4b0ef43acfd0244fe518417258b3cad2fee403c89932537244" data-selected-links="events_path /events?id= /events" href="/events">Events</a> <a class="js-selected-navigation-item d-inline-block py-2 py-md-3 mr-3 mr-md-4 no-underline subnav-link" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;NAVIGATION_BAR&quot;,&quot;click_target&quot;:&quot;GITHUB_SPONSORS&quot;,&quot;click_visual_representation&quot;:&quot;CLICK_VISUAL_REPRESENTATION_UNKNOWN&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e33b4e63c2aa5e74fac175b43b8d7e9e07cb74a0140a98b880453a7bece9bc56" data-selected-links="sponsors_explore_index_path /sponsors/explore /sponsors/explore" href="/sponsors/explore">GitHub Sponsors</a> </div> </nav> </div> <div> <div class="container-lg p-responsive py-5"> <div class="gutter-md"> <div class="col-lg-9 col-md-8 d-flex flex-items-center mb-3 mb-sm-0"> <div class="d-flex flex-1"> <div class="border color-border-subtle color-bg-accent f4 color-fg-muted text-bold rounded flex-shrink-0 text-center mr-3" style="width: 48px; height: 48; line-height: 48px;" > # </div> <h1 class="h1"> ehcache </h1> </div> <topic-feeds-toast-trigger data-topic-display-name="ehcache" data-topic-name="ehcache"> <!--Add Discover button--> <!--End Add Discover button--> <div data-view-component="true" class="d-inline-block"> <a href="/login?return_to=%2Ftopic.ehcache" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="70a7c396cc8fabbb94f2249747530bcb9f9904f8cf28eb6e2f9c9ad3b5735d33" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> </a></div> </topic-feeds-toast-trigger> </div> </div> <!--Add Discover button--> <!--End Add Discover button--> </div> <div class="topic p-responsive container-lg"> <div class="d-md-flex gutter-md"> <div class="col-md-8 col-lg-9" data-hpc> <h2 class="h3 color-fg-muted"> Here are 182 public repositories matching this topic... </h2> <div class="d-sm-flex"> <details class="details-reset details-overlay mt-2 mr-3 select-menu"> <summary data-view-component="true" class="select-menu-button btn-sm btn"> <i>Language:</i> <span data-menu-button>All</span> </summary> <details-menu class="select-menu-modal position-absolute" style="z-index: 99;"> <div class="select-menu-header"> <span class="select-menu-title">Filter by language</span> </div> <div class="select-menu-list"> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/ehcache" aria-checked="true"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> All <span>182</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/ehcache?l=java" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> Java <span>141</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/ehcache?l=javascript" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> JavaScript <span>13</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/ehcache?l=css" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> CSS <span>5</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/ehcache?l=shell" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> Shell <span>3</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/ehcache?l=kotlin" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> Kotlin <span>2</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/ehcache?l=batchfile" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> Batchfile <span>1</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/ehcache?l=html" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> HTML <span>1</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/ehcache?l=typescript" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> TypeScript <span>1</span> </span> </a> </div> </details-menu> </details> <details class="details-reset details-overlay select-menu mt-2"> <summary data-view-component="true" class="select-menu-button btn-sm btn"> <i>Sort:</i> <span data-menu-button >Most stars</span> </summary> <details-menu class="select-menu-modal position-absolute" style="z-index: 99;"> <div class="select-menu-header"> <span class="select-menu-title">Sort options</span> </div> <div class="select-menu-list"> <a class="select-menu-item" role="menuitemradio" aria-checked="true" href="/topics/ehcache?o=desc&amp;s=stars"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text" data-menu-button-text > Most stars </span> </a> <a class="select-menu-item" role="menuitemradio" aria-checked="false" href="/topics/ehcache?o=asc&amp;s=stars"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text" data-menu-button-text > Fewest stars </span> </a> <a class="select-menu-item" role="menuitemradio" aria-checked="false" href="/topics/ehcache?o=desc&amp;s=forks"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text" data-menu-button-text > Most forks </span> </a> <a class="select-menu-item" role="menuitemradio" aria-checked="false" href="/topics/ehcache?o=asc&amp;s=forks"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text" data-menu-button-text > Fewest forks </span> </a> <a class="select-menu-item" role="menuitemradio" aria-checked="false" href="/topics/ehcache?o=desc&amp;s=updated"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text" data-menu-button-text > Recently updated </span> </a> <a class="select-menu-item" role="menuitemradio" aria-checked="false" href="/topics/ehcache?o=asc&amp;s=updated"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text" data-menu-button-text > Least recently updated </span> </a> </div> </details-menu> </details> </div> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:3739568,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="dacf2cf13d82e2b1dcb060de7338d0a539f68244501d6cdc35af31b2e968366e" data-turbo="false" href="/shuzheng" data-view-component="true" class="Link">shuzheng</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:69953445,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8b1ed298f43f1f00924d6e9cb2de46f9a434cb8c5b12d427e38c72e4af3ebb5f" data-turbo="false" href="/shuzheng/zheng" data-view-component="true" class="Link text-bold wb-break-word">zheng</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fshuzheng%2Fzheng" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:69953445,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="09d85f5ec5fb30d8cf375655af16d4ac241de5b758c971721de717862c75b0e8" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="16712 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="16,712" data-view-component="true" class="Counter js-social-count">16.7k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-69953445" aria-current="true" href="/shuzheng/zheng" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:69953445,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="52125413e52e382e58213f25bf0ce6bbc7369fec1f5f1c37df4d69faf6481e5e" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-69953445" href="/shuzheng/zheng/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:69953445,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9f115c3dc9cea3ac0d3c0a7a9a40ee1f8f088d5bef772f6ce60745bc83e60dd4" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-69953445" href="/shuzheng/zheng/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:69953445,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8db3d797faddf9092a6a77a5e16005cbb92bfc2761d173d17a755f676669e3c9" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:319,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4f9f4ce795e9bc20518ccfdc3973cd9985a899b898e27197642085bf09e4104a" title="Topic: redis" href="/topics/redis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">redis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7520,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6411155ecac0e864e8242958441a149deb18e18de7d345fb54e97a7b2eae4221" title="Topic: microservices" href="/topics/microservices" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">microservices</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9160,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8df9056f78b805d25c399a6d215a2e705b1417be6c7d22b68bdf6b3f2249bd31" title="Topic: spring" href="/topics/spring" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12448,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c073bd1b9185e06d1fa28bd1ded70125c5f39c9fadcebd6885058fd7c8ea73c9" title="Topic: solr" href="/topics/solr" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">solr</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:22871,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2562523c704e9b683613c28a876894ddf5f5c7672985d28dd692d22af16b9d70" title="Topic: zookeeper" href="/topics/zookeeper" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">zookeeper</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:28222,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c7a6c7f1122864f32ae77aef016162587e13f66a3b3938a08daf3a5247ecc778" title="Topic: quartz" href="/topics/quartz" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">quartz</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:34562,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b3940fcaac78aa00e7dc9485cc892647228fa94a8af0dbdbdffd915b79775da6" title="Topic: activemq" href="/topics/activemq" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">activemq</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:59657,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="74c62f2400862aa328751fd1e78b24b1d0b2791b4d3c0ac3562f5b8d16fdbdf3" title="Topic: druid" href="/topics/druid" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">druid</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:93524,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c1c34e820302723a5c937900a800734d5bfcf8ccec1ccf8fa10abd34fa72cb40" title="Topic: mybatis" href="/topics/mybatis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mybatis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:99614,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6c009e2f59706c00e7c90109c89c6b686f8e0dea86d952cbdd137d53b39f436a" title="Topic: spring-session" href="/topics/spring-session" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring-session</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105495,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="73f86769fb1dfd3f5de8188a83874e98efa07ae70c8637953497127ea7992de3" title="Topic: sequence" href="/topics/sequence" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">sequence</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:110356,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ba532bcc07c10cf4e1fb05c24b4c8d0807df1a0d140ab837ca04d6ed8723416c" title="Topic: shiro" href="/topics/shiro" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">shiro</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:184304,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c89c1f07725abcca48af8dfc4f4b3bba00fba48961c32790d74aa87d447bf412" title="Topic: springmvc" href="/topics/springmvc" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">springmvc</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:218341,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="98c5a922766c441923b783f8dceb610f5826c86df0d2ff281f13d30cc25ba84d" title="Topic: dubbo" href="/topics/dubbo" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">dubbo</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:243054,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="378112f6fd5b00dad57ccd20e6148c5a6bf2156c1283548c57721490e86c0295" title="Topic: mybatis-generator" href="/topics/mybatis-generator" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mybatis-generator</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:243055,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="53ce64a60f7e7c16a50e9272e77b08f0ed228caa3db101146b0e1cee0b388d1c" title="Topic: tbschedule" href="/topics/tbschedule" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">tbschedule</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:243060,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="217e50a8ec6df8102f39ade0036c09a2d0f43f39ab903be1eff2688faef5ac4c" title="Topic: fastdfs" href="/topics/fastdfs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">fastdfs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:243061,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="420b41cf62609ecb75db43862755d49aed93db8200904d128d9b8166c907a5e9" title="Topic: swagger2" href="/topics/swagger2" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">swagger2</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:243062,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="82f1d7baa720f3b8d27f1c4c70167750d2e0070b7366c208f40bc7e15f3b4f6b" title="Topic: alioss" href="/topics/alioss" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">alioss</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2022-12-16T09:53:00Z" class="no-wrap">Dec 16, 2022</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #b07219"></span> <span itemprop="programmingLanguage">Java</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:86360035,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="bbd20bb847f82ac571f5aca4eaa3e449af7ebddc2e0c7e8c4af351002ec02a33" data-turbo="false" href="/jeecgboot" data-view-component="true" class="Link">jeecgboot</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7393427,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b3c9c4ec19efc42b2b5d3251b7b2d435c3c49252b31c3cbaf04ab8e486b0e7f2" data-turbo="false" href="/jeecgboot/jeecg" data-view-component="true" class="Link text-bold wb-break-word">jeecg</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fjeecgboot%2Fjeecg" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:7393427,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1bd94d1f0b285126c37d48e01326f2a3edb99c2f6161e2ae7af5e26d21453579" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="2177 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="2,177" data-view-component="true" class="Counter js-social-count">2.2k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-7393427" aria-current="true" href="/jeecgboot/jeecg" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7393427,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c4757a0bd619e1294f292af88c52b2cbe14e916f39d125191742bb38172ebe88" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-7393427" href="/jeecgboot/jeecg/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7393427,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a6cf9c9226e5cc4ca0858dec63a655c6faf5266a41105fde93165465badee6d3" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-7393427" href="/jeecgboot/jeecg/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7393427,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cf0cd0947f43f41d66af6440d96ae3397261eec5321c00323b1de8bcaf4aadfd" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >JEECG是一款基于代码生成器的J2EE快速开发平台,开源界“小普元”超越传统商业企业级开发平台。引领新的开发模式(Online Coding模式(自定义表单) - &gt; 代码生成器模式 - &gt; 手工MERGE智能开发), 可以帮助解决Java项目90%的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省人力成本,同时又不失灵活性。具备:表单配置能力(无需编码)、移动配置能力、工作流配置能力、报表配置能力(支持移动端)、插件开发能力(可插拔)</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:253,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c2fa71845b787c5c6e8acc51a7db3fb4d4506e6d65f207af65d955a1bfe9b10a" title="Topic: bootstrap" href="/topics/bootstrap" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">bootstrap</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:269,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e7dbb23bfce3cc469a7fca4ac14b30fcf36602984608e4eb9cea6dbe815019ac" title="Topic: jquery" href="/topics/jquery" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">jquery</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9160,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8df9056f78b805d25c399a6d215a2e705b1417be6c7d22b68bdf6b3f2249bd31" title="Topic: spring" href="/topics/spring" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9275,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ada344906552ce21b6d45ec9497fd020f55d8a6576bedf187cf052ce6eb5b3e9" title="Topic: vue" href="/topics/vue" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9366,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e89a66d1e45a87a12987ffa712ef37473e2301f32f18ec5acd44656630617d47" title="Topic: code-generator" href="/topics/code-generator" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">code-generator</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:43475,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9d2a497f51d81c7a81b9aa6a311d828ab45033535474f3d8878d90557e473402" title="Topic: hibernate" href="/topics/hibernate" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">hibernate</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:69563,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="201fcf8ecb6d1c4592a7aedf4dcf41ca2f8d00115800a746bdccf2352d5d4a43" title="Topic: swagger-ui" href="/topics/swagger-ui" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">swagger-ui</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:177332,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="60284929d9025039572dc7e322e77fbd0a1e1b34f0add6190d1fac937b6567a8" title="Topic: echarts" href="/topics/echarts" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">echarts</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:184304,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c89c1f07725abcca48af8dfc4f4b3bba00fba48961c32790d74aa87d447bf412" title="Topic: springmvc" href="/topics/springmvc" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">springmvc</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:343651,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="497a5fc9108a9b095e7ab110d172b453028f802f35959fe3963a876b529242b5" title="Topic: easyui" href="/topics/easyui" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">easyui</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:397082,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e90aefe5ca086308786ee99608ba711d532136ff5b22fa69906ab8f4b0b9c719" title="Topic: jbpm" href="/topics/jbpm" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">jbpm</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:556102,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="49a74e409806a86142e8043565a1aa4065fcab411c58737b5ad834c6dbf1fbda" title="Topic: activiti5" href="/topics/activiti5" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">activiti5</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:603806,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6ab454627088f97b11ecb39f0fd7e571634ab4a03fcf798e909ead6501dcbfd6" title="Topic: jeecg" href="/topics/jeecg" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">jeecg</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:969355,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d84886b6023e87857d45c9464cda04fb49029a4009df6f8826fb7c33cd313b48" title="Topic: minidao" href="/topics/minidao" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">minidao</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2023-12-16T20:26:07Z" class="no-wrap">Dec 16, 2023</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #b07219"></span> <span itemprop="programmingLanguage">Java</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1539806,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7656fe4e0c3966bf9be2676f5e30965519b08a84cfe1386d6390a8b246537aa9" data-turbo="false" href="/yangfuhai" data-view-component="true" class="Link">yangfuhai</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:92236525,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fc75e05a77d2beabb0c741d3e8456c5e17afa78dd5e9ab6d77d1d5a65544f8e8" data-turbo="false" href="/yangfuhai/jboot" data-view-component="true" class="Link text-bold wb-break-word">jboot</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fyangfuhai%2Fjboot" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:92236525,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="734559db158f88aefaa605537f32ff1cc667d5a8955c6a2af782ef5c45f212ba" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="730 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="730" data-view-component="true" class="Counter js-social-count">730</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-92236525" aria-current="true" href="/yangfuhai/jboot" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:92236525,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7dbda6d20e8e7d4a1addcf31002dce8ec2ed2c6e1e2e0ecb714ba682f36d55ff" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-92236525" href="/yangfuhai/jboot/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:92236525,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="50cfb5823de29bf2a9146ed453de0e5e703190722c31e4f78a337d36f79eff3a" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-92236525" href="/yangfuhai/jboot/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:92236525,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b4ed548ddce62e88d9367ccdd4029259120b0e9aaac3e5751137d2a16fb1d522" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >一个优雅的微服务框架,SpringCloud 之外的另一个选择,已经使用在用户量过亿的商业产品上,有超过1000家公司在使用Jboot做极速开发...</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:319,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4f9f4ce795e9bc20518ccfdc3973cd9985a899b898e27197642085bf09e4104a" title="Topic: redis" href="/topics/redis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">redis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9884,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1dbff3d2fbf90bbc7d733e88d603e7624d0b1aab4319a572cd2832bb3b2ae8e2" title="Topic: rabbitmq" href="/topics/rabbitmq" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">rabbitmq</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12622,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7941dc5917e27a67886157ad479e58a13601a5da9cbfc71edbec88da4c1d6fde" title="Topic: metrics" href="/topics/metrics" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">metrics</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:20981,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="952ed65231d006de1e8981bb641b8af1d791a145bdc77425c3dc0b4bc744fbbe" title="Topic: grpc" href="/topics/grpc" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">grpc</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:22677,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7d07b921f92492e7fe3e5709ba1b59ad7406c2cdac31f8faa222e02d26fbaa95" title="Topic: thrift" href="/topics/thrift" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">thrift</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:34562,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b3940fcaac78aa00e7dc9485cc892647228fa94a8af0dbdbdffd915b79775da6" title="Topic: activemq" href="/topics/activemq" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">activemq</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:43551,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b3de44b314087ded3843de5a83afc89dce66dbcef6de5860d74528f1fe3ad25f" title="Topic: undertow" href="/topics/undertow" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">undertow</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:84030,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2eb22f60040943cea5e30909004ec105ff50941c0f728cbd98e9ba80c47cb915" title="Topic: motan" href="/topics/motan" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">motan</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:123099,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a27d98d239582253ca457172f89de18906f25212517e7ecf8cfacf98f9708469" title="Topic: jfinal" href="/topics/jfinal" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">jfinal</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:488893,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9415edc5b13cb809c61d8f55db1fabc32ac316d57360d67c2eab3487e6de4c83" title="Topic: jboot" href="/topics/jboot" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">jboot</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:488894,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="04faf206fcc2b8f44201b46fae185b40ddf4ae97e66a317cc7f3f53c78abed3d" title="Topic: redismq" href="/topics/redismq" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">redismq</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-01-14T02:32:44Z" class="no-wrap">Jan 14, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #b07219"></span> <span itemprop="programmingLanguage">Java</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:20941411,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="73d777812b8975cc8df2b0cc04e519247b0869a9af3fe08abb50484cbd5413d6" data-turbo="false" href="/sunkaifei" data-view-component="true" class="Link">sunkaifei</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:158529499,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1bbd5537e920de58b783f718fdd84735da515c7d888028be2f34d1265b62d4f8" data-turbo="false" href="/sunkaifei/FlyCms" data-view-component="true" class="Link text-bold wb-break-word">FlyCms</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fsunkaifei%2FFlyCms" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:158529499,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="709ceee2c08f39c34b1a74dbeab6ef49c384f0789e4be7aa26c43b11c55f257e" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="644 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="644" data-view-component="true" class="Counter js-social-count">644</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-158529499" aria-current="true" href="/sunkaifei/FlyCms" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:158529499,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1f9f892054e55b648ce84a980f1d56b21c0958bf77b67785b44dc83e0b27ee44" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-158529499" href="/sunkaifei/FlyCms/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:158529499,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ff75c6f2d2f7ff1279c686b3752cdf866a5496b6e32c1bd1755be6b300b48c4a" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-158529499" href="/sunkaifei/FlyCms/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:158529499,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1cd71ed40f1206a4e99ce92e50ad98fa23245e5a813fd34c5971f464eb8bf7ba" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >FlyCms 是一个类似知乎以问答为基础的完全开源的JAVA语言开发的社交网络建站程序,基于 Spring Boot+Bootstrap3+MyBatis+MySql+Solr +Ehcache应用架构,专注于社区内容的整理、归类和检索,它集合了问答,digg,wiki 等多个程序的优点,帮助用户轻松搭建专业的知识库和在线问答社区。业务模块包括:权限管理,会员管理,角色管理,定时任务管理(调度管理),问答管理,文章管理,分享管理,短信接口管理和邮件系统发送(注册、找回密码、邮件订阅),跨域登录,消息推送,全文检索、前端国际化等等众多模块,等您自己来体验!</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:42,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="98bcbc8d8026df673ae14142e8da2eb3db43e322b136e2e3f4493d09c0fbeadf" title="Topic: mysql" href="/topics/mysql" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mysql</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:74,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5eb21651834542e0ca056574de7847da2c4b215ebc332bc82a405e66e042d330" title="Topic: i18n" href="/topics/i18n" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">i18n</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9164,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="937bc643ab073c11eeb7a63bc0b26f5ad38bdea98c8323f640c544190a8eff6d" title="Topic: spring-boot" href="/topics/spring-boot" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring-boot</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12448,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c073bd1b9185e06d1fa28bd1ded70125c5f39c9fadcebd6885058fd7c8ea73c9" title="Topic: solr" href="/topics/solr" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">solr</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:13670,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b69e35c222a58182788898bf87b563454dd33ba78ba2dbe85baf5723f0637461" title="Topic: lombok" href="/topics/lombok" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">lombok</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:28222,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c7a6c7f1122864f32ae77aef016162587e13f66a3b3938a08daf3a5247ecc778" title="Topic: quartz" href="/topics/quartz" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">quartz</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:60895,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e7aa803c3c8e2d78321a4cde76cbf709ae77c393027dc32e339b998fa102ed49" title="Topic: freemarker" href="/topics/freemarker" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">freemarker</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:93524,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c1c34e820302723a5c937900a800734d5bfcf8ccec1ccf8fa10abd34fa72cb40" title="Topic: mybatis" href="/topics/mybatis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mybatis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:95346,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2fa043ee37985bac9b7b7434fe4ea96460263caccc1a9fadb99b291a5f69436f" title="Topic: bootstrap3" href="/topics/bootstrap3" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">bootstrap3</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:916462,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6cd54b4b8a75ff834a2463d8ee8d381fa8cced60cbce39ffa87db50a14834540" title="Topic: flycms" href="/topics/flycms" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">flycms</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2019-12-21T04:44:30Z" class="no-wrap">Dec 21, 2019</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #b07219"></span> <span itemprop="programmingLanguage">Java</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:18375710,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1ca57dcad01e45d76bb1b988bb6bd3c6f0fa043aefcf09a22bbbf023058430b7" data-turbo="false" href="/houbb" data-view-component="true" class="Link">houbb</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:259248854,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5aa43e72d84c6ca8f7077ceedd1748517a339ad09ae159525f628265e168883b" data-turbo="false" href="/houbb/cache" data-view-component="true" class="Link text-bold wb-break-word">cache</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fhoubb%2Fcache" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:259248854,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0ae35dc16e2b36151b630a9403ab069632050377334708f8b06a7289d4cbcc5b" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="393 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="393" data-view-component="true" class="Counter js-social-count">393</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-259248854" aria-current="true" href="/houbb/cache" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:259248854,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1885eeec9eaac63d4a6ba0dbd2b9752ac980d60455d3480b15b917e71fd178d6" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-259248854" href="/houbb/cache/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:259248854,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c4593e1c48eaab1d10f586bdfa14445b0dc27ee426f00f087f47ba2171f340f4" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-259248854" href="/houbb/cache/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:259248854,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="04cfba7d551ac6272703c01e80a396da8e0903a244681289a5c322573fa52f73" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >The basic cache tool for java.(java 手写实现渐进式 redis 缓存工具)</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:319,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4f9f4ce795e9bc20518ccfdc3973cd9985a899b898e27197642085bf09e4104a" title="Topic: redis" href="/topics/redis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">redis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:834,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="db67628b032f78acaf436842fea43e34309d4f309fc7de77dc47828a31efa386" title="Topic: memcached" href="/topics/memcached" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">memcached</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:13128,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="539250b6d2f0513a1dd2d239051ad3af28d37ab52c015ecf8da139c5c41a760e" title="Topic: cache" href="/topics/cache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">cache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:384405,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ca066e4f06e1c67e941be866da4cf4c9d6e2a4e93bab24a1cad7017924e4c146" title="Topic: guava-cache" href="/topics/guava-cache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">guava-cache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:785933,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6ff724623982faeba165950bfbb4e6272314a3e60b52a23d3f1f676a6bfb2b2e" title="Topic: hight-performance" href="/topics/hight-performance" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">hight-performance</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2024-06-03T10:32:56Z" class="no-wrap">Jun 3, 2024</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #89e051"></span> <span itemprop="programmingLanguage">Shell</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:45138439,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="379d5e04a4f3e1817bca5ee9c65c3be8a31f4bc7d0c62389fcdfa20795a8a707" data-turbo="false" href="/Tellsea" data-view-component="true" class="Link">Tellsea</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:180968785,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0e5653f504730e79e64031281313906b170624f8f6855a4bf2e9089087a0cbbc" data-turbo="false" href="/Tellsea/springboot-learn" data-view-component="true" class="Link text-bold wb-break-word">springboot-learn</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2FTellsea%2Fspringboot-learn" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:180968785,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f882d27fa1000139024450780f9f06eb88eafae114c0e307870f59e0f78ef8b5" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="348 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="348" data-view-component="true" class="Counter js-social-count">348</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-180968785" aria-current="true" href="/Tellsea/springboot-learn" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:180968785,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="956b53fa84992ec9c405b4a0f3e7609b618e3a509d52bdbbecb1f79ee875697f" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-180968785" href="/Tellsea/springboot-learn/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:180968785,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3a84baa8977b52099a4b0a5134a57f43f153b32cb000e471d1b30e4ab8485e29" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-180968785" href="/Tellsea/springboot-learn/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:180968785,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8810419a2b9eac5bafafd91cb6e5bba242c387d1d9a01ceecb28cdc7bc61eac6" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >🌹springboot常用框架整合示例,涉及多种网站监控,数据缓存,网络通信,持久层,权限管理,常用工具等</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:319,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4f9f4ce795e9bc20518ccfdc3973cd9985a899b898e27197642085bf09e4104a" title="Topic: redis" href="/topics/redis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">redis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:646,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="77622a29e29a1087ad22461306bb971ce9804380c7c1ab9025ca9917510b5ea6" title="Topic: security" href="/topics/security" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">security</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:653,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4384049d43dbec8c7b57b198647ae5d1460ce1fae8ca40bbcaa9f059a6cf85d6" title="Topic: elasticsearch" href="/topics/elasticsearch" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">elasticsearch</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2142,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c4e5253548dd92d5a2820a6b4195036e0529b127236bd978cb296da69f465020" title="Topic: task" href="/topics/task" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">task</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2349,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="102d6703503869d25107257c76231a35b180784ae5f76b3440579a790a7b421f" title="Topic: jwt" href="/topics/jwt" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">jwt</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9248,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c8cee0577031599a2f3abc81f74fdb807044c027752a2b30a9a2c601e48dd55b" title="Topic: thymeleaf" href="/topics/thymeleaf" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">thymeleaf</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9884,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1dbff3d2fbf90bbc7d733e88d603e7624d0b1aab4319a572cd2832bb3b2ae8e2" title="Topic: rabbitmq" href="/topics/rabbitmq" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">rabbitmq</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12843,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9f74bb2ec93d08d35e9928728af8bb8186e44cf692aaf24083c40fc95e6075bb" title="Topic: jpa" href="/topics/jpa" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">jpa</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:13060,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e2d699e87421458e006e0314f03ba096527fc1ce3720a3a3a6631630d6679d7e" title="Topic: websocket" href="/topics/websocket" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">websocket</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:17118,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="78e09a4989db3251f46a4af9f9981f776dd49d1dbd16f32f2dfd054bf8c84382" title="Topic: sms" href="/topics/sms" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">sms</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:28222,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c7a6c7f1122864f32ae77aef016162587e13f66a3b3938a08daf3a5247ecc778" title="Topic: quartz" href="/topics/quartz" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">quartz</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:59657,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="74c62f2400862aa328751fd1e78b24b1d0b2791b4d3c0ac3562f5b8d16fdbdf3" title="Topic: druid" href="/topics/druid" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">druid</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:83429,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d17435f5e693ae8dc157e747168fcfeba0e8544ff7f89ba1bbd6616014e5bd06" title="Topic: aop" href="/topics/aop" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">aop</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:93524,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c1c34e820302723a5c937900a800734d5bfcf8ccec1ccf8fa10abd34fa72cb40" title="Topic: mybatis" href="/topics/mybatis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mybatis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:94855,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="dfbcfaedd1767cccc436b3edfce40524ddf8c6958ee0249bc8112ee6ca570b04" title="Topic: qiniu" href="/topics/qiniu" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">qiniu</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:110356,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ba532bcc07c10cf4e1fb05c24b4c8d0807df1a0d140ab837ca04d6ed8723416c" title="Topic: shiro" href="/topics/shiro" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">shiro</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:243061,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="420b41cf62609ecb75db43862755d49aed93db8200904d128d9b8166c907a5e9" title="Topic: swagger2" href="/topics/swagger2" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">swagger2</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:319499,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="831afe608c6ba2063b2001ea23d9f8c4234f5d4f36738a68e527e1d070ef4297" title="Topic: actuator" href="/topics/actuator" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">actuator</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:846424,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c18cc181c73cc433f82a812bc5ff8042b92d9ba6f531e4bf64d5c353092eea07" title="Topic: easypoi" href="/topics/easypoi" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">easypoi</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2023-07-25T13:58:50Z" class="no-wrap">Jul 25, 2023</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #b07219"></span> <span itemprop="programmingLanguage">Java</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:19185444,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fe4d848c267c20b92de51f15a677ab751ee01271df75d8f543061a6946b88b7d" data-turbo="false" href="/micyo202" data-view-component="true" class="Link">micyo202</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:111865459,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="95111c59910a4935a9409ce7e3432ba09f38c98bf9bbe39bec1ec3adb7751c4d" data-turbo="false" href="/micyo202/yan" data-view-component="true" class="Link text-bold wb-break-word">yan</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fmicyo202%2Fyan" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:111865459,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8de8cf71ec613200a55c2912e8edaef2c573c8446d1a6090be38dae20a098449" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="295 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="295" data-view-component="true" class="Counter js-social-count">295</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-111865459" aria-current="true" href="/micyo202/yan" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:111865459,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="49dcfe449506232407e7af2203bd3e01541531e6226faccf53549a9a60f416c5" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-111865459" href="/micyo202/yan/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:111865459,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="84cadf31510d52db43371a4c8474247521ef541dcdcf8d5708d4b92f8cdd6ec9" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-111865459" href="/micyo202/yan/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:111865459,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d50344462182e61b0faa4a5abaaf116bdbfba9146ed2f2c8e70a068cec2db461" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >使用Maven构建,整合Dubbo+Zookeeper+SpringMVC+Spring+MyBatis+Redis支持分布式的高效率便捷开发框架</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:160,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cf1d4001db9b62c7f0febcadd6065da728ae815e055ba708c458acea7b2585ca" title="Topic: java" href="/topics/java" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">java</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:253,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c2fa71845b787c5c6e8acc51a7db3fb4d4506e6d65f207af65d955a1bfe9b10a" title="Topic: bootstrap" href="/topics/bootstrap" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">bootstrap</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:269,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e7dbb23bfce3cc469a7fca4ac14b30fcf36602984608e4eb9cea6dbe815019ac" title="Topic: jquery" href="/topics/jquery" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">jquery</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:806,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1c62383ae78641571f64fe4f10f65abccee87b4b6d27f3ee0117b9730cc33ed4" title="Topic: distribution" href="/topics/distribution" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">distribution</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12050,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e0331143761f49355a2f053d3571275e3dad92f73455f6c87bb9c4b53f910a96" title="Topic: maven" href="/topics/maven" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">maven</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12201,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="02e3c1ef28613d5fd1941db186c19aa78ff1e80031ef42b6ba761b62eb953330" title="Topic: logback" href="/topics/logback" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">logback</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:28252,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="269f3e6c4ea9dc6aac372a731664d976c1c29097890238cd4490eafd824a1f9e" title="Topic: jackson" href="/topics/jackson" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">jackson</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:59657,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="74c62f2400862aa328751fd1e78b24b1d0b2791b4d3c0ac3562f5b8d16fdbdf3" title="Topic: druid" href="/topics/druid" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">druid</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:83951,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="42d8dd49473d37775b6f715ded63e3430e8020bf092a8fc2f23beb6bd254d1c9" title="Topic: aspectj" href="/topics/aspectj" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">aspectj</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:89038,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6baf13bc8ed306f33a69fa009e72df5dc116dcb8479793b1499e4ee0868cfe93" title="Topic: spring-framework" href="/topics/spring-framework" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring-framework</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:93524,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c1c34e820302723a5c937900a800734d5bfcf8ccec1ccf8fa10abd34fa72cb40" title="Topic: mybatis" href="/topics/mybatis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mybatis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:95989,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7001d464842bf90401c7b0a6a38ee7c23612a82bb63c4d40ec5f26347394e72f" title="Topic: spring-mvc" href="/topics/spring-mvc" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring-mvc</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:110356,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ba532bcc07c10cf4e1fb05c24b4c8d0807df1a0d140ab837ca04d6ed8723416c" title="Topic: shiro" href="/topics/shiro" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">shiro</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:218341,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="98c5a922766c441923b783f8dceb610f5826c86df0d2ff281f13d30cc25ba84d" title="Topic: dubbo" href="/topics/dubbo" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">dubbo</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:243054,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="378112f6fd5b00dad57ccd20e6148c5a6bf2156c1283548c57721490e86c0295" title="Topic: mybatis-generator" href="/topics/mybatis-generator" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mybatis-generator</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:446049,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="013986158fb2c7087a1a33b969e05b7586f24a549dca5cf3339214bcd57d4939" title="Topic: mybatis-pagehelper" href="/topics/mybatis-pagehelper" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mybatis-pagehelper</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:464865,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d14982ea557fbaf7944657ee446435dfdaf88a0bb651948cbd4ff7ffdfee2c9a" title="Topic: dom4j" href="/topics/dom4j" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">dom4j</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:570607,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5cb3cbd005ff21f3e52aed362c13e106d8cdabc262974e92cf331476582aef22" title="Topic: yan" href="/topics/yan" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">yan</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2022-06-21T00:27:56Z" class="no-wrap">Jun 21, 2022</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #f1e05a"></span> <span itemprop="programmingLanguage">JavaScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:4113891,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e65ce97970d3a38716063934bf7335c4aba88bb62efe69179dcd1f62f1de6ff6" data-turbo="false" href="/kingschan1204" data-view-component="true" class="Link">kingschan1204</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:82272434,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="bb88a0075c0666c01e8776e81956ecd68f163022f2270c51e4eb50e8b6efdc1c" data-turbo="false" href="/kingschan1204/jblog" data-view-component="true" class="Link text-bold wb-break-word">jblog</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fkingschan1204%2Fjblog" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:82272434,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9d8b341c6bdfd2eba78f650d8eb556099da18fe4548aa67c87ae0e21258a3492" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="186 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="186" data-view-component="true" class="Counter js-social-count">186</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-82272434" aria-current="true" href="/kingschan1204/jblog" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:82272434,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="037a4638cd8dba1cdc99264de697412fd466652ed0ddd19c3766be5962800ee0" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-82272434" href="/kingschan1204/jblog/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:82272434,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4d0045a0c6e576e3a04e460d5ccc5474e6e38d3a3d324c7e9aff03f90517120c" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-82272434" href="/kingschan1204/jblog/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:82272434,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d7a9c597e6b953b7072adae60e8e88521b6dc64c657ea2ca6dbcefa92d3832de" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >🔱一个简洁漂亮的java blog 👉基于Spring /MVC+ Hibernate + MySQL + Bootstrap + freemarker. 实现 🌈</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:126,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3d7757db096640c5926e7dae1432c83d6f5ca73d182bea32e5ec2e2b430c0f87" title="Topic: blog" href="/topics/blog" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">blog</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:160,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cf1d4001db9b62c7f0febcadd6065da728ae815e055ba708c458acea7b2585ca" title="Topic: java" href="/topics/java" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">java</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:253,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c2fa71845b787c5c6e8acc51a7db3fb4d4506e6d65f207af65d955a1bfe9b10a" title="Topic: bootstrap" href="/topics/bootstrap" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">bootstrap</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:297,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ce9304ec209b684033d46ff287a902b183e5e53340da2dd58f7c5071ebfcbefe" title="Topic: markdown" href="/topics/markdown" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">markdown</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9160,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8df9056f78b805d25c399a6d215a2e705b1417be6c7d22b68bdf6b3f2249bd31" title="Topic: spring" href="/topics/spring" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:43475,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9d2a497f51d81c7a81b9aa6a311d828ab45033535474f3d8878d90557e473402" title="Topic: hibernate" href="/topics/hibernate" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">hibernate</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:61403,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f5475aa834fe3d9e5a6825d6727f5d74624c4d7e04dd67d22364ab6279fc1c87" title="Topic: emojify" href="/topics/emojify" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">emojify</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:74651,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="faebbf73a30d62ac5e3c42ea9fd1ab8cf8007a59b9c03938497f3da4095b3134" title="Topic: lucene" href="/topics/lucene" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">lucene</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:95346,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2fa043ee37985bac9b7b7434fe4ea96460263caccc1a9fadb99b291a5f69436f" title="Topic: bootstrap3" href="/topics/bootstrap3" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">bootstrap3</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:95989,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7001d464842bf90401c7b0a6a38ee7c23612a82bb63c4d40ec5f26347394e72f" title="Topic: spring-mvc" href="/topics/spring-mvc" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring-mvc</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:117922,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7ca80aa8677a70d67364b3ea757e16ae7a98376851d1ff7fefa59ec89acbdf80" title="Topic: hibernate-search" href="/topics/hibernate-search" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">hibernate-search</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:379268,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96e6a5a0c07ce638fb1a39d3e0c1974b62d0b88ccef4828a884e4cb6e09bcd1b" title="Topic: jblog" href="/topics/jblog" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">jblog</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2017-06-14T12:11:43Z" class="no-wrap">Jun 14, 2017</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #b07219"></span> <span itemprop="programmingLanguage">Java</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1483254,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="dc3a007ee63b267fdc978250a083137c8b490dc39cf794a2ff756271b4ebd542" data-turbo="false" href="/mybatis" data-view-component="true" class="Link">mybatis</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:8167012,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="843823788aeed667e9abe09b86fad00efd07a7af3fb9e97bc8cb0715a44cc1c6" data-turbo="false" href="/mybatis/ehcache-cache" data-view-component="true" class="Link text-bold wb-break-word">ehcache-cache</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fmybatis%2Fehcache-cache" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:8167012,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="46dccbdbd1d3bdea47f100b6e669054ad63bc0aea38f9c946c4cad7d559bad7a" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="149 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="149" data-view-component="true" class="Counter js-social-count">149</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-8167012" aria-current="true" href="/mybatis/ehcache-cache" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:8167012,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ec207e10222b81c86699a3b0eb669428faec324a6f021baf1eef514cf44a404d" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-8167012" href="/mybatis/ehcache-cache/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:8167012,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fe94b6dffac4b224ae6e5b0c3f2aa65ce7d989260caf43a848e07db0405b05b1" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-8167012" href="/mybatis/ehcache-cache/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:8167012,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4cd88e6ba5e296147a9b85db8925f5ddf17382a53c6df6b11ab1a69cdb2d4c80" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >MyBatis EhCache adapter</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:160,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cf1d4001db9b62c7f0febcadd6065da728ae815e055ba708c458acea7b2585ca" title="Topic: java" href="/topics/java" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">java</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:13128,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="539250b6d2f0513a1dd2d239051ad3af28d37ab52c015ecf8da139c5c41a760e" title="Topic: cache" href="/topics/cache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">cache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-01-03T22:00:05Z" class="no-wrap">Jan 3, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #b07219"></span> <span itemprop="programmingLanguage">Java</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:27911820,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4390ab1eec62f0eeca19df2dc941e9944756eaa9380aae407b48a74aeef25ed3" data-turbo="false" href="/gujiniCY" data-view-component="true" class="Link">gujiniCY</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:152083650,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="95d8922c55c0e1273efb0ba38559add4e2627a32175df8fe85495729bc40b4f0" data-turbo="false" href="/gujiniCY/mayday" data-view-component="true" class="Link text-bold wb-break-word">mayday</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2FgujiniCY%2Fmayday" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:152083650,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c053f98103e172ea0011e59d1f42052b9f831e910cc7b87129cd731e5f405ab3" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="130 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="130" data-view-component="true" class="Counter js-social-count">130</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-152083650" aria-current="true" href="/gujiniCY/mayday" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:152083650,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="088282ddeb848ffeee112d008fabc0ff94057963b724e708a8bdc17360f62310" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-152083650" href="/gujiniCY/mayday/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:152083650,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3e10fecadbf6dad96c664c27dd70e75b08afc560287e3f662f5984b8d9c36056" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-152083650" href="/gujiniCY/mayday/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:152083650,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a577f5fe595fd2c898813b4012b54187d3fc04f500b57a6ebf6814e3b79865a5" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab-152083650" href="/gujiniCY/mayday/discussions" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_DISCUSSIONS&quot;,&quot;click_visual_representation&quot;:&quot;DISCUSSIONS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:152083650,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="73c0b7bd0d4e1ad299e724337d9b74c82ceaab920dce2f98331a79781e10d32a" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion color-fg-muted"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> Discussions </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >mayday博客系统,基于springboot、mybatis、ehcache、thymeleaf、bootstrap做的博客系统,完美自适应,支持markdown编辑器</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:126,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3d7757db096640c5926e7dae1432c83d6f5ca73d182bea32e5ec2e2b430c0f87" title="Topic: blog" href="/topics/blog" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">blog</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9164,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="937bc643ab073c11eeb7a63bc0b26f5ad38bdea98c8323f640c544190a8eff6d" title="Topic: spring-boot" href="/topics/spring-boot" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring-boot</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9248,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c8cee0577031599a2f3abc81f74fdb807044c027752a2b30a9a2c601e48dd55b" title="Topic: thymeleaf" href="/topics/thymeleaf" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">thymeleaf</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:22639,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="34fd69b44a3993d562dfe843699656590ea41094a49edd9e7501444c39a81578" title="Topic: blog-engine" href="/topics/blog-engine" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">blog-engine</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:93524,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c1c34e820302723a5c937900a800734d5bfcf8ccec1ccf8fa10abd34fa72cb40" title="Topic: mybatis" href="/topics/mybatis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mybatis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:110925,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6e70602d833cece4e37d0cd8d0abfca5c89656404ef38693b588d52ef06eca6f" title="Topic: blog-platform" href="/topics/blog-platform" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">blog-platform</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:462726,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a7a103be09815a1c20fc8d853c88107b9afbc3f75fb127aa27682c1ce4f9f620" title="Topic: hutool" href="/topics/hutool" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">hutool</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:751074,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="aacf528809f81b487e7c89500057df10ac95763996339d8e18d1c68a95988fdc" title="Topic: valine" href="/topics/valine" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">valine</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:871204,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f1e77bc0e54a4cec697e38e8bd6aee2fc7e592462c20777babea2da4ed73c16d" title="Topic: mayday" href="/topics/mayday" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mayday</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2024-05-16T17:14:49Z" class="no-wrap">May 16, 2024</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #b07219"></span> <span itemprop="programmingLanguage">Java</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_IMAGE&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:118595394,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="99fb213bee60692481dcafbfaef25bcd38fc46d24aadffe897402143fdfe79a3" data-turbo="false" style="max-height:275px" href="/oschina/J2Cache" data-view-component="true" class="overflow-hidden flex-items-center rounded-top-2 Link color-border-muted border-bottom d-flex position-relative"><img loading="lazy" src="https://repository-images.githubusercontent.com/118595394/948d0a80-102f-11ea-83ed-40bc06766fca" alt="J2Cache" class="d-block width-full" ></a> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1540855,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ce57e4161a7098931c0540677d1e7e116f0586aa456a08e83f318c7ba8547a4f" data-turbo="false" href="/oschina" data-view-component="true" class="Link">oschina</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:118595394,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1eab1d23c9548068f8cc9cdf8433639b8ef6bc76be4f4324905f2a77f9ee7cab" data-turbo="false" href="/oschina/J2Cache" data-view-component="true" class="Link text-bold wb-break-word">J2Cache</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Foschina%2FJ2Cache" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:118595394,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0b28bf4b1243c727a665d90b2445d9e4aa6fd90871ee359d1965287be8678b1b" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="100 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="100" data-view-component="true" class="Counter js-social-count">100</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-118595394" aria-current="true" href="/oschina/J2Cache" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:118595394,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="844abd9b486855352042faad6939c61a783016cc18889803e777459260300954" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-118595394" href="/oschina/J2Cache/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:118595394,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="eb5de046eb9e8f998ba6bde0a4721a508e915e77f418c60529a3cedd8099f531" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-118595394" href="/oschina/J2Cache/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:118595394,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="120a86ef07878fea0e100d448c2f157c6db564fedb6dd41b5b9948dfad157d84" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >Double Level Cache Framework base on Memory and Redis</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:160,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cf1d4001db9b62c7f0febcadd6065da728ae815e055ba708c458acea7b2585ca" title="Topic: java" href="/topics/java" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">java</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:133471,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="904a950f933c51eb3de3604cf190fb6972e27924a193ca5409e41af2bb58178f" title="Topic: caffeine" href="/topics/caffeine" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">caffeine</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1258573,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a11a042fcd881914b7d9c5f8904879568e8507345a0cde3a7e2f0b4be293cd34" title="Topic: j2cache-redis" href="/topics/j2cache-redis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">j2cache-redis</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2020-07-02T03:08:59Z" class="no-wrap">Jul 2, 2020</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #b07219"></span> <span itemprop="programmingLanguage">Java</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:13015473,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1944d37e8857898dd6688aac46a268afef30ea30aaa150d5d47329e1bb68eb09" data-turbo="false" href="/ShuaiJunlan" data-view-component="true" class="Link">ShuaiJunlan</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:76831591,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1e341dc390b6538f792058914b13913e3e24e0282aa8a73b7b1153738bc717c5" data-turbo="false" href="/ShuaiJunlan/Autumn" data-view-component="true" class="Link text-bold wb-break-word">Autumn</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2FShuaiJunlan%2FAutumn" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:76831591,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ae3805cd66afccbbcd0e851de9ceb2d9f45fe56f1efe49c1c769c192a4623b26" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="98 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="98" data-view-component="true" class="Counter js-social-count">98</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-76831591" aria-current="true" href="/ShuaiJunlan/Autumn" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:76831591,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a9dc1df53e55043425baac3313b3fee5b0eb80f21bc4fcb555d22df6b5068505" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-76831591" href="/ShuaiJunlan/Autumn/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:76831591,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1c990013f58cafdbb4989a6620d5546ef44587072cf431a476a1782cfb0213ab" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-76831591" href="/ShuaiJunlan/Autumn/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:76831591,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3fdad60652c7674a6226eb3c60c030bc7d99f299c0fdf24a97acd125efaf7bf5" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >Autumn-Blog and Autumn-CMS</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9160,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8df9056f78b805d25c399a6d215a2e705b1417be6c7d22b68bdf6b3f2249bd31" title="Topic: spring" href="/topics/spring" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9248,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c8cee0577031599a2f3abc81f74fdb807044c027752a2b30a9a2c601e48dd55b" title="Topic: thymeleaf" href="/topics/thymeleaf" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">thymeleaf</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:59657,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="74c62f2400862aa328751fd1e78b24b1d0b2791b4d3c0ac3562f5b8d16fdbdf3" title="Topic: druid" href="/topics/druid" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">druid</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:93524,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c1c34e820302723a5c937900a800734d5bfcf8ccec1ccf8fa10abd34fa72cb40" title="Topic: mybatis" href="/topics/mybatis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mybatis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:95989,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7001d464842bf90401c7b0a6a38ee7c23612a82bb63c4d40ec5f26347394e72f" title="Topic: spring-mvc" href="/topics/spring-mvc" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring-mvc</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:110356,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ba532bcc07c10cf4e1fb05c24b4c8d0807df1a0d140ab837ca04d6ed8723416c" title="Topic: shiro" href="/topics/shiro" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">shiro</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2022-12-16T04:33:10Z" class="no-wrap">Dec 16, 2022</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #b07219"></span> <span itemprop="programmingLanguage">Java</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12955306,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="919a8d330ea0a9840f3978e01fbb51067dc488e2c53e723b0c8b3e1f9ec833b0" data-turbo="false" href="/beamofsoul" data-view-component="true" class="Link">beamofsoul</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:90571616,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c5c3631bcfbd8fe95d53ab1cb796c0e4658c19371f279b42d545509c0673f019" data-turbo="false" href="/beamofsoul/BusinessInfrastructurePlatformGroupVersion" data-view-component="true" class="Link text-bold wb-break-word">BusinessInfrastructurePlatformGroupVersion</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fbeamofsoul%2FBusinessInfrastructurePlatformGroupVersion" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:90571616,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="971a967f744beffa81aeb25d18c996ed3c862cced7f6219302cb96092a0ca396" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="91 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="91" data-view-component="true" class="Counter js-social-count">91</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-90571616" aria-current="true" href="/beamofsoul/BusinessInfrastructurePlatformGroupVersion" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:90571616,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c050d8fd0a2a8621bdeae936fa72f371817f1415490ac14cea982a24ab1970dd" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-90571616" href="/beamofsoul/BusinessInfrastructurePlatformGroupVersion/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:90571616,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4cacb428e18cec693d52d53c120c6e2dec7935e3c0c68f32267f66e35683efaf" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-90571616" href="/beamofsoul/BusinessInfrastructurePlatformGroupVersion/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:90571616,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ae534675391fd8ace33fe4d512df90af5314b23add0b627fd16f2135f9975fa2" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >A java web project based on Spring Boot using MySQL, Spring MVC, Hibernate, Spring Data JPA, Query DSL, Lombok, Logback, etc.</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:160,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cf1d4001db9b62c7f0febcadd6065da728ae815e055ba708c458acea7b2585ca" title="Topic: java" href="/topics/java" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">java</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9160,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8df9056f78b805d25c399a6d215a2e705b1417be6c7d22b68bdf6b3f2249bd31" title="Topic: spring" href="/topics/spring" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9248,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c8cee0577031599a2f3abc81f74fdb807044c027752a2b30a9a2c601e48dd55b" title="Topic: thymeleaf" href="/topics/thymeleaf" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">thymeleaf</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12201,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="02e3c1ef28613d5fd1941db186c19aa78ff1e80031ef42b6ba761b62eb953330" title="Topic: logback" href="/topics/logback" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">logback</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12752,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="541174ceabea71e3e336f8c4ef8debe0af24f8dcf51bd7116b8729fc9a49d526" title="Topic: spring-data" href="/topics/spring-data" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring-data</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:13670,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b69e35c222a58182788898bf87b563454dd33ba78ba2dbe85baf5723f0637461" title="Topic: lombok" href="/topics/lombok" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">lombok</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:35031,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="adea85f35138bc7a855bab338fbfe5dc483ba8454cdf910dd48e5cf76acb40df" title="Topic: spring-security" href="/topics/spring-security" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring-security</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:43475,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9d2a497f51d81c7a81b9aa6a311d828ab45033535474f3d8878d90557e473402" title="Topic: hibernate" href="/topics/hibernate" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">hibernate</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:44387,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="eacee7016ce8c8406f49e1c25f79a0641282fa254bdce409fe3ab2f975abfcfa" title="Topic: java8" href="/topics/java8" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">java8</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:73890,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c036650d488098ce9440ff3b9243343e5cb72291b49ab90d6ecfe25a0588f380" title="Topic: querydsl" href="/topics/querydsl" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">querydsl</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:83436,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="27e65cbd86b65e6ba40fe3120f75ef50ca585659ea71113667f89a1918991687" title="Topic: springboot" href="/topics/springboot" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">springboot</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:83438,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2335b81acb9fe4942a9d04d2a3ec86420caa5d16e7bb7ed098d0a90eec23e16d" title="Topic: springframework" href="/topics/springframework" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">springframework</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:95989,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7001d464842bf90401c7b0a6a38ee7c23612a82bb63c4d40ec5f26347394e72f" title="Topic: spring-mvc" href="/topics/spring-mvc" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring-mvc</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:118099,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b4f40b94ccb42a140b634b9b733a9294c51c6bb8e04be8ad94294a256d26c0f1" title="Topic: spring-data-jpa" href="/topics/spring-data-jpa" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring-data-jpa</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:308446,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="11f29392c074250917dc7d6c4a60b74bc5fded80824b6aa6e8106fcc7cc4abc0" title="Topic: fastjson" href="/topics/fastjson" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">fastjson</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2017-07-29T07:21:26Z" class="no-wrap">Jul 29, 2017</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #f1e05a"></span> <span itemprop="programmingLanguage">JavaScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:34181171,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1193ded47ce369de88f25a5563ac802981d9ee6c0cc08241c297d67e214df0a5" data-turbo="false" href="/wayn111" data-view-component="true" class="Link">wayn111</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:184458559,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9af7c9fbbd1857f471d3cca136dab51d60ea3b395d9c369c73e2cc7e143e26cc" data-turbo="false" href="/wayn111/crowd-admin" data-view-component="true" class="Link text-bold wb-break-word">crowd-admin</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fwayn111%2Fcrowd-admin" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:184458559,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1f5ce35212ebeb2d2340dd66c9d7b78017cdfc81119197396e69997d3455a6e4" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="90 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="90" data-view-component="true" class="Counter js-social-count">90</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-184458559" aria-current="true" href="/wayn111/crowd-admin" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:184458559,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="08d4bedcfeed5f30b781326bccba5a8b5baeafcb6fb6abf6731eae377cb5b000" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-184458559" href="/wayn111/crowd-admin/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:184458559,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="142a7a4d30cc52f06b87906117bad08c1f0aab4c8cfeada9104df70b5b07afe2" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-184458559" href="/wayn111/crowd-admin/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:184458559,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8406c1c58796003b40c7129b1c156bb39308a803e98229f6767e578e6c1f2451" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >crowd-admin是一个基于Spring,Shiro,Redis/ehcache,Mybatis的通用后台权限管理系统,这里推荐本人另一个基于sprinboot的单点登录系统</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:319,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4f9f4ce795e9bc20518ccfdc3973cd9985a899b898e27197642085bf09e4104a" title="Topic: redis" href="/topics/redis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">redis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:4897,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b5d54dd1534150af74cb57dd0247c9a1703b2063cfce3da8eaf89ade92bd0c44" title="Topic: admin" href="/topics/admin" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">admin</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7522,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="aa21bdcb93e69e694772952230d1503d62295719b72cb4ba0c9c6c473fc0d80a" title="Topic: mail" href="/topics/mail" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mail</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9160,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8df9056f78b805d25c399a6d215a2e705b1417be6c7d22b68bdf6b3f2249bd31" title="Topic: spring" href="/topics/spring" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:60879,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e6287500be043fe4b3afe3b319e351e2743e617070fb8a93af20b21e2932cf25" title="Topic: elfinder" href="/topics/elfinder" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">elfinder</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:83436,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="27e65cbd86b65e6ba40fe3120f75ef50ca585659ea71113667f89a1918991687" title="Topic: springboot" href="/topics/springboot" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">springboot</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:83739,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="db484f065401408482e70900e1fd8e3a15e6f47a5c0f24a129c20fc3475a81ca" title="Topic: elfinder-servlet" href="/topics/elfinder-servlet" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">elfinder-servlet</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:93524,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c1c34e820302723a5c937900a800734d5bfcf8ccec1ccf8fa10abd34fa72cb40" title="Topic: mybatis" href="/topics/mybatis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mybatis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:110356,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ba532bcc07c10cf4e1fb05c24b4c8d0807df1a0d140ab837ca04d6ed8723416c" title="Topic: shiro" href="/topics/shiro" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">shiro</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:119297,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="132cd6f857b14ba91634398968f92f5355c395de23f3d9390e5e345b6d25e95d" title="Topic: redis-cache" href="/topics/redis-cache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">redis-cache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:249261,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9511f29f4b1f569025591eb3b638ea7d7c2e05ef9217b96c6af2c80e7e2e2754" title="Topic: mybatis-plus" href="/topics/mybatis-plus" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mybatis-plus</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:343964,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b60da777e719da04dcf6179765e4873e8e0a89d3d22cb256568a9aa5509fb8fa" title="Topic: layui" href="/topics/layui" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">layui</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:370840,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ac2ef568d3a320e986445693de002ed5a5beaa349628656e1d755cca28cf4de1" title="Topic: spring-mybatis" href="/topics/spring-mybatis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring-mybatis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:973718,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8c6b77644bc0c7ab637033ea9bf3b77a2b65a2d26da8352d9f30ad54b8baba7e" title="Topic: ruoyi" href="/topics/ruoyi" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ruoyi</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1345234,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f3605a48c98f16a1db71382a950626772e29b6af44d63972dfa836b64e031f32" title="Topic: crowd-admin" href="/topics/crowd-admin" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">crowd-admin</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1510955,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="69cba8c51bb9230807802f9a6a984c8fc87cfe54915e6bf6e441c82837a6ee5f" title="Topic: waynboot" href="/topics/waynboot" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">waynboot</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1797933,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5901b4b794765635716267a6a7beffeccb8bfff6516ddcdddc5051574874a7d4" title="Topic: jdk17-new-features" href="/topics/jdk17-new-features" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">jdk17-new-features</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2024-02-17T13:21:31Z" class="no-wrap">Feb 17, 2024</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #b07219"></span> <span itemprop="programmingLanguage">Java</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:18019041,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6dba97290ce8cc7535ca66586aab58a832bb4dc978edb5eba69e072a69a334fb" data-turbo="false" href="/coder-yqj" data-view-component="true" class="Link">coder-yqj</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:86870468,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="97162c97e98275bd0dee3429e4f6d6afc019ba57e9869e372fb10766183204ab" data-turbo="false" href="/coder-yqj/springsecuritydemo" data-view-component="true" class="Link text-bold wb-break-word">springsecuritydemo</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fcoder-yqj%2Fspringsecuritydemo" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:86870468,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="22212faa54054226eccf27d14a747ff5a1708ac120d5ef82639ebc4047ccb7ee" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="85 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="85" data-view-component="true" class="Counter js-social-count">85</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-86870468" aria-current="true" href="/coder-yqj/springsecuritydemo" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:86870468,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="dcaf8c44d4dc21982ca52133493fbcb5970c2feb1b57b4f066fc3a1c3dee181f" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-86870468" href="/coder-yqj/springsecuritydemo/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:86870468,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="46b9a1fdb1919b6529d8ce35943020b7f8d3b5d6401271bc39a3ba8525b239bc" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-86870468" href="/coder-yqj/springsecuritydemo/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:86870468,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ef905e15d79997c9132c80086863636877480a209a0668f9f70527a2258dedf9" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >使用javaconfig的方式整合SpringMVC+Mybatis+SpringSecurity实现基于数据库的权限系统,包括对按钮的权限控制。</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:83445,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a4794926cc4c6aedda590736848a93561ad369e989e17ea93b378cdd886cbfef" title="Topic: springsecurity" href="/topics/springsecurity" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">springsecurity</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:224591,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="acd022c1e3baa159a32e5a9e18067d64866289a43a5325f75b3b1a92ac0ba0bc" title="Topic: ssm" href="/topics/ssm" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ssm</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:389677,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3ef470f71b0e8f9b99029898a1bcf331acc229da63f34320e448f5f8b55c0b11" title="Topic: javaconfig" href="/topics/javaconfig" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">javaconfig</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2017-04-19T02:08:10Z" class="no-wrap">Apr 19, 2017</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #b07219"></span> <span itemprop="programmingLanguage">Java</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:16871115,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="378279ae4d8c87c5db6a2e35fd21397b8a05eaf025713fe82b2cc9839297999d" data-turbo="false" href="/ramostear" data-view-component="true" class="Link">ramostear</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:220510586,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2aec3921f637d1ae03fa3c85f9a86a85891bdcf7bc5c8b443072c1dd3b4f359c" data-turbo="false" href="/ramostear/una-boot-backup" data-view-component="true" class="Link text-bold wb-break-word">una-boot-backup</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Framostear%2Funa-boot-backup" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:220510586,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="763b491b9f38c1d56908c74ba8feadadcff483d7a77d7726f049ddcdc730fc6c" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="50 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="50" data-view-component="true" class="Counter js-social-count">50</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-220510586" aria-current="true" href="/ramostear/una-boot-backup" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:220510586,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2f5cd12c3af74ee9f06c5337240cf1f3a113fc424ae13a6829430f2af5e9c6ec" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-220510586" href="/ramostear/una-boot-backup/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:220510586,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="94f32e2e06454d94c1be21de7c605939a21778f5bc05c15b89e91702e211eded" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-220510586" href="/ramostear/una-boot-backup/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:220510586,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="bf6e4ee857021307f02ada1f6f5cf5baddc27aed41bbd26e63276726dc4e3d01" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >a simple and easy-to-use Java blog system based on spring boot 2.0,welcome to star and take it away.</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:297,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ce9304ec209b684033d46ff287a902b183e5e53340da2dd58f7c5071ebfcbefe" title="Topic: markdown" href="/topics/markdown" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">markdown</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:44387,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="eacee7016ce8c8406f49e1c25f79a0641282fa254bdce409fe3ab2f975abfcfa" title="Topic: java8" href="/topics/java8" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">java8</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:59657,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="74c62f2400862aa328751fd1e78b24b1d0b2791b4d3c0ac3562f5b8d16fdbdf3" title="Topic: druid" href="/topics/druid" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">druid</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:60895,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e7aa803c3c8e2d78321a4cde76cbf709ae77c393027dc32e339b998fa102ed49" title="Topic: freemarker" href="/topics/freemarker" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">freemarker</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:83436,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="27e65cbd86b65e6ba40fe3120f75ef50ca585659ea71113667f89a1918991687" title="Topic: springboot" href="/topics/springboot" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">springboot</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:110356,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ba532bcc07c10cf4e1fb05c24b4c8d0807df1a0d140ab837ca04d6ed8723416c" title="Topic: shiro" href="/topics/shiro" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">shiro</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:633120,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="71370c1adf0745dd90d8885ea50ddf5c428076330ae3bd1595ee48a51998f6c0" title="Topic: springboot2" href="/topics/springboot2" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">springboot2</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:846839,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2a7380456360e04785306fcbaa62fef691ca7788a23f2abff7d26e6cad5a8968" title="Topic: jpa-hibernate" href="/topics/jpa-hibernate" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">jpa-hibernate</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2022-10-12T20:34:22Z" class="no-wrap">Oct 12, 2022</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #f1e05a"></span> <span itemprop="programmingLanguage">JavaScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:14182415,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a29b26f63eb0940f5cbc4c9489df30734e0db43a5d2ef7e10dd0fb2f9cc053e4" data-turbo="false" href="/YogenRaii" data-view-component="true" class="Link">YogenRaii</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:77285901,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d43a4f8bceeff887a6a6e351ac1b9131dd036a003ef3f65a6697d040131bf8e4" data-turbo="false" href="/YogenRaii/java-core" data-view-component="true" class="Link text-bold wb-break-word">java-core</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2FYogenRaii%2Fjava-core" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:77285901,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="bd35e095bc8c5349e92bdc162ae7ef78c527eb73ea0af2c494754a1b1cc5afb3" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="40 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="40" data-view-component="true" class="Counter js-social-count">40</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-77285901" aria-current="true" href="/YogenRaii/java-core" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:77285901,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8952ae3d737a072800ccea2b34203868567e22d65a7a90398262c78317471ab0" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-77285901" href="/YogenRaii/java-core/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:77285901,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="540727c2c72370cbb7ee499ab5429f8344c52b679e1e402c57af7c87852a770c" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-77285901" href="/YogenRaii/java-core/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:77285901,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a9dbb45c8103e64cd5aabc2df805e295f90909a3d66b63bb3097149279ecc25d" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >Collections of solutions for micro-tasks created while building modules as part of project. Also has very fun stuffs :)</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:436,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="72afdd32f3a9fa2339d665d335b56ee731fd4a049d1fadce2b0d6b23b72ba8d7" title="Topic: caching" href="/topics/caching" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">caching</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9731,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9a0f21918709b96c25a569d251b60aa6068ec1c9c4de7b09c8eb9e43a2798754" title="Topic: algorithms" href="/topics/algorithms" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">algorithms</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:13375,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="775807177cefa1168ff508bdd6f005eb2dd6c020cc266575c6bf4965939f223b" title="Topic: regex" href="/topics/regex" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">regex</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:16918,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="762d2a3d838379ef78ed2394ab762cbef57d3623256d463d4c9dc9bf79333120" title="Topic: lambda-functions" href="/topics/lambda-functions" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">lambda-functions</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:23910,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="111b709d2388b7c09fd420cb8ff3545d24c1e7da4babdf182a378416a4f76ad9" title="Topic: streams" href="/topics/streams" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">streams</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:28039,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f438b1652989e48ac3ba570f189859a843102968e95182df4ff34661227997c5" title="Topic: java-collections" href="/topics/java-collections" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">java-collections</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:65623,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d660ec010eaaa6820b946703a0b7aee4b37a53895415429106200397a101e7f6" title="Topic: java-8" href="/topics/java-8" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">java-8</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:356316,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="751b03e6053f5b0560705f0b445a4b6c9a17d8e71c026ed269ca9db01673031a" title="Topic: java-core" href="/topics/java-core" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">java-core</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2024-02-02T22:12:43Z" class="no-wrap">Feb 2, 2024</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #b07219"></span> <span itemprop="programmingLanguage">Java</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:22571230,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f9d7bfd52cf52448cbf50436c8d4cbb54ef990df6ab08f0773a8eefbf00945a0" data-turbo="false" href="/yifanzheng" data-view-component="true" class="Link">yifanzheng</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:145968120,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5354d045129360ff2457b1381286c25ebcc4827484f15735c4c28cdead017459" data-turbo="false" href="/yifanzheng/springboot-action" data-view-component="true" class="Link text-bold wb-break-word">springboot-action</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fyifanzheng%2Fspringboot-action" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:145968120,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="774fe7a41962c6be6d6b1bc890f0443d0c6cc221935f0b1933d748e60955b59a" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="33 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="33" data-view-component="true" class="Counter js-social-count">33</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-145968120" aria-current="true" href="/yifanzheng/springboot-action" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:145968120,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3db60518c3c91454f5840fc47271db9513fa7623317132f7ead16f6891272a0f" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-145968120" href="/yifanzheng/springboot-action/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:145968120,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="688e7afaacaedc6d76a6c510f4b33e49c46059ad2289d4d510b06e9ac223b64f" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-145968120" href="/yifanzheng/springboot-action/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:145968120,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7cc8a2d712bab9590c0ce231c74f1752703c3929ead63d789540a40708740a90" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >Spring Boot 入门学习示例。</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:160,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cf1d4001db9b62c7f0febcadd6065da728ae815e055ba708c458acea7b2585ca" title="Topic: java" href="/topics/java" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">java</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:319,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4f9f4ce795e9bc20518ccfdc3973cd9985a899b898e27197642085bf09e4104a" title="Topic: redis" href="/topics/redis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">redis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:653,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4384049d43dbec8c7b57b198647ae5d1460ce1fae8ca40bbcaa9f059a6cf85d6" title="Topic: elasticsearch" href="/topics/elasticsearch" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">elasticsearch</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9164,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="937bc643ab073c11eeb7a63bc0b26f5ad38bdea98c8323f640c544190a8eff6d" title="Topic: spring-boot" href="/topics/spring-boot" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">spring-boot</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9248,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c8cee0577031599a2f3abc81f74fdb807044c027752a2b30a9a2c601e48dd55b" title="Topic: thymeleaf" href="/topics/thymeleaf" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">thymeleaf</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:23764,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0dc952567762174032daac3ec18ea4fd0f1a0d9815c42e9ec11602ff458e4b70" title="Topic: guava" href="/topics/guava" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">guava</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:60895,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e7aa803c3c8e2d78321a4cde76cbf709ae77c393027dc32e339b998fa102ed49" title="Topic: freemarker" href="/topics/freemarker" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">freemarker</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:93524,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c1c34e820302723a5c937900a800734d5bfcf8ccec1ccf8fa10abd34fa72cb40" title="Topic: mybatis" href="/topics/mybatis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mybatis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2021-12-18T06:53:26Z" class="no-wrap">Dec 18, 2021</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #b07219"></span> <span itemprop="programmingLanguage">Java</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:30254454,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b0dd3b2d97ae5fa10555ad9443a9987efb2bef37b7bb59f5c201cb6d0fbea5cd" data-turbo="false" href="/KissLouis" data-view-component="true" class="Link">KissLouis</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:185991686,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f577686168d69a31f97193dfa4e98e2b9438f3b6e55d4b13e47e8b82cd1a0ad9" data-turbo="false" href="/KissLouis/springboot-chapter" data-view-component="true" class="Link text-bold wb-break-word">springboot-chapter</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2FKissLouis%2Fspringboot-chapter" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:185991686,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="25565a71695196e8b99277c63b677f35f1d5c6a4f4fd6c9142844d800f990c43" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="30 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="30" data-view-component="true" class="Counter js-social-count">30</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-185991686" aria-current="true" href="/KissLouis/springboot-chapter" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:185991686,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="138da75e033e1e3e5cef97b9664ed2a3ee0b40415327fc129ab35bc7a3df7cee" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-185991686" href="/KissLouis/springboot-chapter/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:185991686,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d31f230858987b604fd1515dc72a572814372527839d0a30106f6bdde9d1ccda" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-185991686" href="/KissLouis/springboot-chapter/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:185991686,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0e82e65cc067940bfd3f6a1a058202791436276b6ebf32578ce94561c807d68a" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >🚀Spring Boot 3.0主流框架整合,实践学习案例。2.0版本在springboot-version-2.x分支</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:74,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5eb21651834542e0ca056574de7847da2c4b215ebc332bc82a405e66e042d330" title="Topic: i18n" href="/topics/i18n" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">i18n</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:319,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4f9f4ce795e9bc20518ccfdc3973cd9985a899b898e27197642085bf09e4104a" title="Topic: redis" href="/topics/redis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">redis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:4893,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fe49c54836c6f67f266824b0b8f35721b832a545a128f28e516c8a11051bea07" title="Topic: apidoc" href="/topics/apidoc" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">apidoc</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9216,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e13474d8bfdbcff3245139eb89c212447035f449404270abe95482cff6745efd" title="Topic: mongodb" href="/topics/mongodb" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mongodb</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9248,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c8cee0577031599a2f3abc81f74fdb807044c027752a2b30a9a2c601e48dd55b" title="Topic: thymeleaf" href="/topics/thymeleaf" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">thymeleaf</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12843,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9f74bb2ec93d08d35e9928728af8bb8186e44cf692aaf24083c40fc95e6075bb" title="Topic: jpa" href="/topics/jpa" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">jpa</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:28222,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c7a6c7f1122864f32ae77aef016162587e13f66a3b3938a08daf3a5247ecc778" title="Topic: quartz" href="/topics/quartz" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">quartz</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:59657,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="74c62f2400862aa328751fd1e78b24b1d0b2791b4d3c0ac3562f5b8d16fdbdf3" title="Topic: druid" href="/topics/druid" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">druid</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:60895,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e7aa803c3c8e2d78321a4cde76cbf709ae77c393027dc32e339b998fa102ed49" title="Topic: freemarker" href="/topics/freemarker" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">freemarker</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:83436,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="27e65cbd86b65e6ba40fe3120f75ef50ca585659ea71113667f89a1918991687" title="Topic: springboot" href="/topics/springboot" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">springboot</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:83445,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a4794926cc4c6aedda590736848a93561ad369e989e17ea93b378cdd886cbfef" title="Topic: springsecurity" href="/topics/springsecurity" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">springsecurity</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:93524,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c1c34e820302723a5c937900a800734d5bfcf8ccec1ccf8fa10abd34fa72cb40" title="Topic: mybatis" href="/topics/mybatis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mybatis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:243061,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="420b41cf62609ecb75db43862755d49aed93db8200904d128d9b8166c907a5e9" title="Topic: swagger2" href="/topics/swagger2" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">swagger2</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:249261,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9511f29f4b1f569025591eb3b638ea7d7c2e05ef9217b96c6af2c80e7e2e2754" title="Topic: mybatis-plus" href="/topics/mybatis-plus" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mybatis-plus</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:378349,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b949dd4d15c694995fe2796abf7e60fef652209e6730bb884e930daa55ff39dc" title="Topic: restdocs" href="/topics/restdocs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">restdocs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:404359,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5b03e67dda60a3831b1b2a343e64b7595629856e6a24d6508c2ae6ea7a89ecb9" title="Topic: javamail" href="/topics/javamail" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">javamail</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:413230,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c464f72fb3cc44b2a93ae1803eb321c59f730d01388ec864389ebb684aeddc85" title="Topic: pagehelper" href="/topics/pagehelper" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">pagehelper</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:576946,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1b572a55df7674a0413af379719467bca8e8cd7eed180b80b65942c3067c3652" title="Topic: springbatch" href="/topics/springbatch" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">springbatch</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:876964,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="acb632c6d532f8b8fb48fc547794d5617e17aa4f0dd7e91bf827f4e96e4727c5" title="Topic: springtask" href="/topics/springtask" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">springtask</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2023-08-28T07:38:44Z" class="no-wrap">Aug 28, 2023</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #b07219"></span> <span itemprop="programmingLanguage">Java</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:36990141,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="77b7ad44eeab23a7e9ee75d7f5983c99d619e59a73e22282f61742dd680abda9" data-turbo="false" href="/JavaCodeMing" data-view-component="true" class="Link">JavaCodeMing</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:215945410,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="540c7688f42d74ba824e96b8f38556a0097cdd834a25b6a94f37c30a2704e494" data-turbo="false" href="/JavaCodeMing/SpringBootLearning" data-view-component="true" class="Link text-bold wb-break-word">SpringBootLearning</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2FJavaCodeMing%2FSpringBootLearning" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:215945410,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5f04bc04d7b15447a7d354223d78a5d014cb586bb34a0dbac8df585019e5ffda" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="24 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="24" data-view-component="true" class="Counter js-social-count">24</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-215945410" aria-current="true" href="/JavaCodeMing/SpringBootLearning" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:215945410,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="32d3e5a68047e15a3954232853f2069685c8b0afd1ffe3697845b9d949d553ae" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-215945410" href="/JavaCodeMing/SpringBootLearning/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:215945410,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="04881904db636568673e4d3a213fa78656c8727fc4521e66056108bd6eee435a" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-215945410" href="/JavaCodeMing/SpringBootLearning/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:215945410,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1ad54a445ac1f4f48d81eabb635d718b39a2b6c42ec06760f425c31350f70cb4" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >基于Spring Boot 2.2.x ,后续将不断加入其他框架示例,以期能将这些功能整合起来进行项目的独立开发。后续将持续更新......</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:319,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4f9f4ce795e9bc20518ccfdc3973cd9985a899b898e27197642085bf09e4104a" title="Topic: redis" href="/topics/redis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">redis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:651,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="871386688c34345cafbb87bb6a4d9fe2a99c7dbda5007fc29d57f745bb3d22cf" title="Topic: webservice" href="/topics/webservice" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">webservice</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:4897,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b5d54dd1534150af74cb57dd0247c9a1703b2063cfce3da8eaf89ade92bd0c44" title="Topic: admin" href="/topics/admin" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">admin</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7522,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="aa21bdcb93e69e694772952230d1503d62295719b72cb4ba0c9c6c473fc0d80a" title="Topic: mail" href="/topics/mail" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mail</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:8997,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="72865fc9a0e06380a2b3f3b8372658caf0433d4f9984ece270f86e4859964927" title="Topic: kafka" href="/topics/kafka" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">kafka</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9216,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e13474d8bfdbcff3245139eb89c212447035f449404270abe95482cff6745efd" title="Topic: mongodb" href="/topics/mongodb" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mongodb</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9884,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1dbff3d2fbf90bbc7d733e88d603e7624d0b1aab4319a572cd2832bb3b2ae8e2" title="Topic: rabbitmq" href="/topics/rabbitmq" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">rabbitmq</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12079,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="de6907cbaa1d42cd2751a3bef3ea897efcb9dfdbd9d91dadacc42db9b1acba2f" title="Topic: async" href="/topics/async" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">async</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12201,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="02e3c1ef28613d5fd1941db186c19aa78ff1e80031ef42b6ba761b62eb953330" title="Topic: logback" href="/topics/logback" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">logback</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:13743,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="bd18dab473b885aebc0885b6c30cc2ce369b0810e73ab5f5931602883f396f9c" title="Topic: validator" href="/topics/validator" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">validator</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:28252,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="269f3e6c4ea9dc6aac372a731664d976c1c29097890238cd4490eafd824a1f9e" title="Topic: jackson" href="/topics/jackson" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">jackson</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:34562,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b3940fcaac78aa00e7dc9485cc892647228fa94a8af0dbdbdffd915b79775da6" title="Topic: activemq" href="/topics/activemq" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">activemq</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:83436,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="27e65cbd86b65e6ba40fe3120f75ef50ca585659ea71113667f89a1918991687" title="Topic: springboot" href="/topics/springboot" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">springboot</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:93524,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c1c34e820302723a5c937900a800734d5bfcf8ccec1ccf8fa10abd34fa72cb40" title="Topic: mybatis" href="/topics/mybatis" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mybatis</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:105523,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96263441f7801fda2dcfc62141110435a6957f18abab4bbefcdac99ed3e1928f" title="Topic: ehcache" href="/topics/ehcache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ehcache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:243061,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="420b41cf62609ecb75db43862755d49aed93db8200904d128d9b8166c907a5e9" title="Topic: swagger2" href="/topics/swagger2" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">swagger2</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:251769,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3c72d54f2ba13bc841c16ae676ad8b806a5665b015f78df86fd4d3096b124bbb" title="Topic: cors-support" href="/topics/cors-support" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">cors-support</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:400737,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1ba3f29454b947ed3a3567a8e21dffc6719dd4a68b15e96a8939f8b2d12f8b64" title="Topic: jdbctemplate" href="/topics/jdbctemplate" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">jdbctemplate</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:633120,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="71370c1adf0745dd90d8885ea50ddf5c428076330ae3bd1595ee48a51998f6c0" title="Topic: springboot2" href="/topics/springboot2" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">springboot2</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1159909,&quot;originating_url&quot;:&quot;https://github.com/topics/ehcache&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="46ca136c7b93e49cb552f226fe6f4be3a88673f0ba1bb5f0327f9cc3fa02bc91" title="Topic: mapper-pagehelper" href="/topics/mapper-pagehelper" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mapper-pagehelper</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2023-07-22T19:06:24Z" class="no-wrap">Jul 22, 2023</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #b07219"></span> <span itemprop="programmingLanguage">Java</span> </span> </li> </ul> </div> </div> </article> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="ajax-pagination-form js-ajax-pagination" data-turbo="false" action="https://github.com/topics/ehcache" accept-charset="UTF-8" method="get"> <input name="page" type="hidden" value="2"> <button type="submit" class="ajax-pagination-btn btn color-border-default f6 mt-0 width-full" data-disable-with="Loading more&hellip;" > Load more&hellip; </button> </form> </div> <div class="col-md-4 col-lg-3"> <div class="mb-6"> <h2 class="h4 mb-2"> Improve this page </h2> <p class="color-fg-muted"> Add a description, image, and links to the <span class="text-bold">ehcache</span> topic page so that developers can more easily learn about it. </p> <p> <a href="https://github.com/github/explore/tree/master/CONTRIBUTING.md?source=add-description-ehcache" data-ga-click="Explore, add description, text:add description" > Curate this topic <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right ml-1"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </p> </div> <div class="mb-6"> <h2 class="h4 mb-2"> Add this topic to your repo </h2> <p class="color-fg-muted"> To associate your repository with the <span class="text-bold">ehcache</span> topic, visit your repo's landing page and select "manage topics." </p> <p> <a href="https://docs.github.com/en/articles/classifying-your-repository-with-topics"> Learn more <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right ml-1"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </p> </div> </div> </div> </div> </div> </main> </div> <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > <h2 class='sr-only'>Footer</h2> <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> <div class="d-flex flex-items-center flex-shrink-0 mx-2"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path> </svg> </a> <span> &copy; 2025 GitHub,&nbsp;Inc. </span> </div> <nav aria-label="Footer"> <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> </li> <li class="mx-2" > <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cookies&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cookies_link_subfooter_footer&quot;}" > Manage cookies </button> </cookie-consent-link> </li> <li class="mx-2"> <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dont_share_info&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dont_share_info_link_subfooter_footer&quot;}" > Do not share my personal information </button> </cookie-consent-link> </li> </ul> </nav> </div> </footer> <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></ghcc-consent> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> You can’t perform that action at this time. </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> <template id="snippet-clipboard-copy-button-unpositioned"> <div class="zeroclipboard-container"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> </div> <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10