gitextract_ajnuvaj3/ ├── .codacy.yml ├── .editorconfig ├── .gitee/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ └── PULL_REQUEST_TEMPLATE.md ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ └── maven.yml ├── .gitignore ├── .travis.yml ├── LICENSE ├── README.en.md ├── README.md ├── TODO.en.md ├── TODO.md ├── demo-activiti/ │ ├── .gitignore │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── activiti/ │ │ │ ├── SpringBootDemoActivitiApplication.java │ │ │ ├── config/ │ │ │ │ └── SecurityConfiguration.java │ │ │ └── util/ │ │ │ └── SecurityUtil.java │ │ └── resources/ │ │ ├── application.yml │ │ └── processes/ │ │ └── team01.bpmn │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── activiti/ │ └── SpringBootDemoActivitiApplicationTests.java ├── demo-actuator/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── actuator/ │ │ │ └── SpringBootDemoActuatorApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── actuator/ │ └── SpringBootDemoActuatorApplicationTests.java ├── demo-admin/ │ ├── README.md │ ├── admin-client/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── xkcoding/ │ │ │ │ └── admin/ │ │ │ │ └── client/ │ │ │ │ ├── SpringBootDemoAdminClientApplication.java │ │ │ │ └── controller/ │ │ │ │ └── IndexController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── xkcoding/ │ │ └── admin/ │ │ └── client/ │ │ └── SpringBootDemoAdminClientApplicationTests.java │ ├── admin-server/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── xkcoding/ │ │ │ │ └── admin/ │ │ │ │ └── server/ │ │ │ │ └── SpringBootDemoAdminServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── xkcoding/ │ │ └── admin/ │ │ └── server/ │ │ └── SpringBootDemoAdminServerApplicationTests.java │ └── pom.xml ├── demo-async/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── async/ │ │ │ ├── SpringBootDemoAsyncApplication.java │ │ │ └── task/ │ │ │ └── TaskFactory.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── async/ │ ├── SpringBootDemoAsyncApplicationTests.java │ └── task/ │ └── TaskFactoryTest.java ├── demo-cache-ehcache/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── cache/ │ │ │ └── ehcache/ │ │ │ ├── SpringBootDemoCacheEhcacheApplication.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ └── service/ │ │ │ ├── UserService.java │ │ │ └── impl/ │ │ │ └── UserServiceImpl.java │ │ └── resources/ │ │ ├── application.yml │ │ └── ehcache.xml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── cache/ │ └── ehcache/ │ ├── SpringBootDemoCacheEhcacheApplicationTests.java │ └── service/ │ └── UserServiceTest.java ├── demo-cache-redis/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── cache/ │ │ │ └── redis/ │ │ │ ├── SpringBootDemoCacheRedisApplication.java │ │ │ ├── config/ │ │ │ │ └── RedisConfig.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ └── service/ │ │ │ ├── UserService.java │ │ │ └── impl/ │ │ │ └── UserServiceImpl.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── cache/ │ └── redis/ │ ├── RedisTest.java │ ├── SpringBootDemoCacheRedisApplicationTests.java │ └── service/ │ └── UserServiceTest.java ├── demo-codegen/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── codegen/ │ │ │ ├── SpringBootDemoCodegenApplication.java │ │ │ ├── common/ │ │ │ │ ├── IResultCode.java │ │ │ │ ├── PageResult.java │ │ │ │ ├── R.java │ │ │ │ └── ResultCode.java │ │ │ ├── constants/ │ │ │ │ └── GenConstants.java │ │ │ ├── controller/ │ │ │ │ └── CodeGenController.java │ │ │ ├── entity/ │ │ │ │ ├── ColumnEntity.java │ │ │ │ ├── GenConfig.java │ │ │ │ ├── TableEntity.java │ │ │ │ └── TableRequest.java │ │ │ ├── service/ │ │ │ │ ├── CodeGenService.java │ │ │ │ └── impl/ │ │ │ │ └── CodeGenServiceImpl.java │ │ │ └── utils/ │ │ │ ├── CodeGenUtil.java │ │ │ └── DbUtil.java │ │ └── resources/ │ │ ├── application.yml │ │ ├── generator.properties │ │ ├── jdbc_type.properties │ │ ├── logback-spring.xml │ │ ├── static/ │ │ │ ├── index.html │ │ │ └── libs/ │ │ │ ├── datejs/ │ │ │ │ └── date-zh-CN.js │ │ │ └── iview/ │ │ │ └── iview.css │ │ └── template/ │ │ ├── Controller.java.vm │ │ ├── Entity.java.vm │ │ ├── Mapper.java.vm │ │ ├── Mapper.xml.vm │ │ ├── Service.java.vm │ │ ├── ServiceImpl.java.vm │ │ └── api.js.vm │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── codegen/ │ ├── CodeGenServiceTest.java │ └── SpringBootDemoCodegenApplicationTests.java ├── demo-docker/ │ ├── .gitignore │ ├── Dockerfile │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── docker/ │ │ │ ├── SpringBootDemoDockerApplication.java │ │ │ └── controller/ │ │ │ └── HelloController.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── docker/ │ └── SpringBootDemoDockerApplicationTests.java ├── demo-dubbo/ │ ├── .gitignore │ ├── README.md │ ├── dubbo-common/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xkcoding/ │ │ └── dubbo/ │ │ └── common/ │ │ └── service/ │ │ └── HelloService.java │ ├── dubbo-consumer/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── xkcoding/ │ │ │ │ └── dubbo/ │ │ │ │ └── consumer/ │ │ │ │ ├── SpringBootDemoDubboConsumerApplication.java │ │ │ │ └── controller/ │ │ │ │ └── HelloController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── xkcoding/ │ │ └── dubbo/ │ │ └── consumer/ │ │ └── SpringBootDemoDubboConsumerApplicationTests.java │ ├── dubbo-provider/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── xkcoding/ │ │ │ │ └── dubbo/ │ │ │ │ └── provider/ │ │ │ │ ├── SpringBootDemoDubboProviderApplication.java │ │ │ │ └── service/ │ │ │ │ └── HelloServiceImpl.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── xkcoding/ │ │ └── dubbo/ │ │ └── provider/ │ │ └── SpringBootDemoDubboProviderApplicationTests.java │ └── pom.xml ├── demo-dynamic-datasource/ │ ├── .gitignore │ ├── README.md │ ├── db/ │ │ ├── init.sql │ │ └── user.sql │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── dynamic/ │ │ │ └── datasource/ │ │ │ ├── SpringBootDemoDynamicDatasourceApplication.java │ │ │ ├── annotation/ │ │ │ │ └── DefaultDatasource.java │ │ │ ├── aspect/ │ │ │ │ └── DatasourceSelectorAspect.java │ │ │ ├── config/ │ │ │ │ ├── DatasourceConfiguration.java │ │ │ │ ├── MyMapper.java │ │ │ │ └── MybatisConfiguration.java │ │ │ ├── controller/ │ │ │ │ ├── DatasourceConfigController.java │ │ │ │ └── UserController.java │ │ │ ├── datasource/ │ │ │ │ ├── DatasourceConfigCache.java │ │ │ │ ├── DatasourceConfigContextHolder.java │ │ │ │ ├── DatasourceHolder.java │ │ │ │ ├── DatasourceManager.java │ │ │ │ ├── DatasourceScheduler.java │ │ │ │ └── DynamicDataSource.java │ │ │ ├── mapper/ │ │ │ │ ├── DatasourceConfigMapper.java │ │ │ │ └── UserMapper.java │ │ │ ├── model/ │ │ │ │ ├── DatasourceConfig.java │ │ │ │ └── User.java │ │ │ └── utils/ │ │ │ └── SpringUtil.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── dynamic/ │ └── datasource/ │ └── SpringBootDemoDynamicDatasourceApplicationTests.java ├── demo-elasticsearch/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── elasticsearch/ │ │ │ ├── SpringBootDemoElasticsearchApplication.java │ │ │ ├── constants/ │ │ │ │ └── EsConsts.java │ │ │ ├── model/ │ │ │ │ └── Person.java │ │ │ └── repository/ │ │ │ └── PersonRepository.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── elasticsearch/ │ ├── SpringBootDemoElasticsearchApplicationTests.java │ ├── repository/ │ │ └── PersonRepositoryTest.java │ └── template/ │ └── TemplateTest.java ├── demo-elasticsearch-rest-high-level-client/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── elasticsearch/ │ │ │ ├── ElasticsearchApplication.java │ │ │ ├── common/ │ │ │ │ ├── Result.java │ │ │ │ └── ResultCode.java │ │ │ ├── config/ │ │ │ │ ├── ElasticsearchAutoConfiguration.java │ │ │ │ └── ElasticsearchProperties.java │ │ │ ├── contants/ │ │ │ │ └── ElasticsearchConstant.java │ │ │ ├── exception/ │ │ │ │ └── ElasticsearchException.java │ │ │ ├── model/ │ │ │ │ └── Person.java │ │ │ └── service/ │ │ │ ├── PersonService.java │ │ │ ├── base/ │ │ │ │ └── BaseElasticsearchService.java │ │ │ └── impl/ │ │ │ └── PersonServiceImpl.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── elasticsearch/ │ └── ElasticsearchApplicationTests.java ├── demo-email/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── email/ │ │ │ ├── SpringBootDemoEmailApplication.java │ │ │ └── service/ │ │ │ ├── MailService.java │ │ │ └── impl/ │ │ │ └── MailServiceImpl.java │ │ └── resources/ │ │ ├── application.yml │ │ ├── email/ │ │ │ └── test.html │ │ └── templates/ │ │ └── welcome.html │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── email/ │ ├── PasswordTest.java │ ├── SpringBootDemoEmailApplicationTests.java │ └── service/ │ └── MailServiceTest.java ├── demo-exception-handler/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── exception/ │ │ │ └── handler/ │ │ │ ├── SpringBootDemoExceptionHandlerApplication.java │ │ │ ├── constant/ │ │ │ │ └── Status.java │ │ │ ├── controller/ │ │ │ │ └── TestController.java │ │ │ ├── exception/ │ │ │ │ ├── BaseException.java │ │ │ │ ├── JsonException.java │ │ │ │ └── PageException.java │ │ │ ├── handler/ │ │ │ │ └── DemoExceptionHandler.java │ │ │ └── model/ │ │ │ └── ApiResponse.java │ │ └── resources/ │ │ ├── application.yml │ │ └── templates/ │ │ └── error.html │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── exception/ │ └── handler/ │ └── SpringBootDemoExceptionHandlerApplicationTests.java ├── demo-flyway/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── flyway/ │ │ │ └── SpringBootDemoFlywayApplication.java │ │ └── resources/ │ │ ├── application.yml │ │ └── db/ │ │ └── migration/ │ │ ├── V1_0__INIT.sql │ │ └── V1_1__ALTER.sql │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── AppTest.java ├── demo-graylog/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── graylog/ │ │ │ └── SpringBootDemoGraylogApplication.java │ │ └── resources/ │ │ ├── application.yml │ │ └── logback-spring.xml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── graylog/ │ └── SpringBootDemoGraylogApplicationTests.java ├── demo-helloworld/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── helloworld/ │ │ │ └── SpringBootDemoHelloworldApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── helloworld/ │ └── SpringBootDemoHelloworldApplicationTests.java ├── demo-https/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── https/ │ │ │ ├── SpringBootDemoHttpsApplication.java │ │ │ └── config/ │ │ │ └── HttpsConfig.java │ │ └── resources/ │ │ ├── application.yml │ │ ├── server.keystore │ │ └── static/ │ │ └── index.html │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── https/ │ └── SpringBootDemoHttpsApplicationTests.java ├── demo-ldap/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── ldap/ │ │ │ ├── LdapDemoApplication.java │ │ │ ├── api/ │ │ │ │ ├── Result.java │ │ │ │ └── ResultCode.java │ │ │ ├── entity/ │ │ │ │ └── Person.java │ │ │ ├── exception/ │ │ │ │ └── ServiceException.java │ │ │ ├── repository/ │ │ │ │ └── PersonRepository.java │ │ │ ├── request/ │ │ │ │ └── LoginRequest.java │ │ │ ├── service/ │ │ │ │ ├── PersonService.java │ │ │ │ └── impl/ │ │ │ │ └── PersonServiceImpl.java │ │ │ └── util/ │ │ │ └── LdapUtils.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── ldap/ │ └── LdapDemoApplicationTests.java ├── demo-log-aop/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── log/ │ │ │ └── aop/ │ │ │ ├── SpringBootDemoLogAopApplication.java │ │ │ ├── aspectj/ │ │ │ │ └── AopLog.java │ │ │ └── controller/ │ │ │ └── TestController.java │ │ └── resources/ │ │ ├── application.yml │ │ └── logback-spring.xml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── log/ │ └── aop/ │ └── SpringBootDemoLogAopApplicationTests.java ├── demo-logback/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── logback/ │ │ │ └── SpringBootDemoLogbackApplication.java │ │ └── resources/ │ │ ├── application.yml │ │ └── logback-spring.xml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── logback/ │ └── SpringBootDemoLogbackApplicationTests.java ├── demo-mongodb/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── mongodb/ │ │ │ ├── SpringBootDemoMongodbApplication.java │ │ │ ├── model/ │ │ │ │ └── Article.java │ │ │ └── repository/ │ │ │ └── ArticleRepository.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── mongodb/ │ ├── SpringBootDemoMongodbApplicationTests.java │ └── repository/ │ └── ArticleRepositoryTest.java ├── demo-mq-kafka/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── mq/ │ │ │ └── kafka/ │ │ │ ├── SpringBootDemoMqKafkaApplication.java │ │ │ ├── config/ │ │ │ │ └── KafkaConfig.java │ │ │ ├── constants/ │ │ │ │ └── KafkaConsts.java │ │ │ └── handler/ │ │ │ └── MessageHandler.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── mq/ │ └── kafka/ │ └── SpringBootDemoMqKafkaApplicationTests.java ├── demo-mq-rabbitmq/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── mq/ │ │ │ └── rabbitmq/ │ │ │ ├── SpringBootDemoMqRabbitmqApplication.java │ │ │ ├── config/ │ │ │ │ └── RabbitMqConfig.java │ │ │ ├── constants/ │ │ │ │ └── RabbitConsts.java │ │ │ ├── handler/ │ │ │ │ ├── DelayQueueHandler.java │ │ │ │ ├── DirectQueueOneHandler.java │ │ │ │ ├── QueueThreeHandler.java │ │ │ │ └── QueueTwoHandler.java │ │ │ └── message/ │ │ │ └── MessageStruct.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── mq/ │ └── rabbitmq/ │ └── SpringBootDemoMqRabbitmqApplicationTests.java ├── demo-mq-rocketmq/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── mq/ │ │ │ └── rocketmq/ │ │ │ └── SpringBootDemoMqRocketmqApplication.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── mq/ │ └── rocketmq/ │ └── SpringBootDemoMqRocketmqApplicationTests.java ├── demo-multi-datasource-jpa/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── multi/ │ │ │ └── datasource/ │ │ │ └── jpa/ │ │ │ ├── SpringBootDemoMultiDatasourceJpaApplication.java │ │ │ ├── config/ │ │ │ │ ├── PrimaryDataSourceConfig.java │ │ │ │ ├── PrimaryJpaConfig.java │ │ │ │ ├── SecondDataSourceConfig.java │ │ │ │ ├── SecondJpaConfig.java │ │ │ │ └── SnowflakeConfig.java │ │ │ ├── entity/ │ │ │ │ ├── primary/ │ │ │ │ │ └── PrimaryMultiTable.java │ │ │ │ └── second/ │ │ │ │ └── SecondMultiTable.java │ │ │ └── repository/ │ │ │ ├── primary/ │ │ │ │ └── PrimaryMultiTableRepository.java │ │ │ └── second/ │ │ │ └── SecondMultiTableRepository.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── multi/ │ └── datasource/ │ └── jpa/ │ └── SpringBootDemoMultiDatasourceJpaApplicationTests.java ├── demo-multi-datasource-mybatis/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ ├── sql/ │ │ └── db.sql │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── multi/ │ │ │ └── datasource/ │ │ │ └── mybatis/ │ │ │ ├── SpringBootDemoMultiDatasourceMybatisApplication.java │ │ │ ├── mapper/ │ │ │ │ └── UserMapper.java │ │ │ ├── model/ │ │ │ │ └── User.java │ │ │ └── service/ │ │ │ ├── UserService.java │ │ │ └── impl/ │ │ │ └── UserServiceImpl.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── multi/ │ └── datasource/ │ └── mybatis/ │ ├── SpringBootDemoMultiDatasourceMybatisApplicationTests.java │ └── service/ │ └── impl/ │ └── UserServiceImplTest.java ├── demo-neo4j/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── neo4j/ │ │ │ ├── SpringBootDemoNeo4jApplication.java │ │ │ ├── config/ │ │ │ │ └── CustomIdStrategy.java │ │ │ ├── constants/ │ │ │ │ └── NeoConsts.java │ │ │ ├── model/ │ │ │ │ ├── Class.java │ │ │ │ ├── Lesson.java │ │ │ │ ├── Student.java │ │ │ │ └── Teacher.java │ │ │ ├── payload/ │ │ │ │ ├── ClassmateInfoGroupByLesson.java │ │ │ │ └── TeacherStudent.java │ │ │ ├── repository/ │ │ │ │ ├── ClassRepository.java │ │ │ │ ├── LessonRepository.java │ │ │ │ ├── StudentRepository.java │ │ │ │ └── TeacherRepository.java │ │ │ └── service/ │ │ │ └── NeoService.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── neo4j/ │ ├── Neo4jTest.java │ └── SpringBootDemoNeo4jApplicationTests.java ├── demo-oauth/ │ ├── .gitignore │ ├── README.md │ ├── oauth-authorization-server/ │ │ ├── README.adoc │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── xkcoding/ │ │ │ │ └── oauth/ │ │ │ │ ├── SpringBootDemoOauthApplication.java │ │ │ │ ├── config/ │ │ │ │ │ ├── ClientLoginFailureHandler.java │ │ │ │ │ ├── ClientLogoutSuccessHandler.java │ │ │ │ │ ├── Oauth2AuthorizationServerConfig.java │ │ │ │ │ ├── Oauth2AuthorizationTokenConfig.java │ │ │ │ │ ├── WebSecurityConfig.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── controller/ │ │ │ │ │ ├── AuthorizationController.java │ │ │ │ │ ├── Oauth2Controller.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── SysClientDetails.java │ │ │ │ │ ├── SysRole.java │ │ │ │ │ └── SysUser.java │ │ │ │ ├── repostiory/ │ │ │ │ │ ├── SysClientDetailsRepository.java │ │ │ │ │ └── SysUserRepository.java │ │ │ │ └── service/ │ │ │ │ ├── SysClientDetailsService.java │ │ │ │ ├── SysUserService.java │ │ │ │ ├── impl/ │ │ │ │ │ ├── SysClientDetailsServiceImpl.java │ │ │ │ │ └── SysUserServiceImpl.java │ │ │ │ └── package-info.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ ├── oauth2.jks │ │ │ ├── public.txt │ │ │ └── templates/ │ │ │ ├── authorization.html │ │ │ ├── common/ │ │ │ │ └── common.html │ │ │ ├── error.html │ │ │ ├── login.html │ │ │ ├── logout.html │ │ │ └── registerTemplate.html │ │ └── test/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── oauth/ │ │ │ ├── PasswordEncodeTest.java │ │ │ ├── oauth/ │ │ │ │ ├── AuthorizationCodeGrantTests.java │ │ │ │ ├── AuthorizationServerInfo.java │ │ │ │ └── ResourceOwnerPasswordGrantTests.java │ │ │ └── repostiory/ │ │ │ ├── SysClientDetailsTest.java │ │ │ └── SysUserRepositoryTest.java │ │ └── resources/ │ │ ├── application.yml │ │ ├── import.sql │ │ └── schema.sql │ ├── oauth-resource-server/ │ │ ├── README.adoc │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── xkcoding/ │ │ │ │ └── oauth/ │ │ │ │ ├── SpringBootDemoResourceApplication.java │ │ │ │ ├── config/ │ │ │ │ │ ├── OauthResourceServerConfig.java │ │ │ │ │ └── OauthResourceTokenConfig.java │ │ │ │ └── controller/ │ │ │ │ └── TestController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── xkcoding/ │ │ └── oauth/ │ │ ├── AuthorizationTest.java │ │ └── controller/ │ │ └── TestControllerTest.java │ └── pom.xml ├── demo-orm-beetlsql/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── orm/ │ │ │ └── beetlsql/ │ │ │ ├── SpringBootDemoOrmBeetlsqlApplication.java │ │ │ ├── config/ │ │ │ │ └── BeetlConfig.java │ │ │ ├── dao/ │ │ │ │ └── UserDao.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ └── service/ │ │ │ ├── UserService.java │ │ │ └── impl/ │ │ │ └── UserServiceImpl.java │ │ └── resources/ │ │ ├── application.yml │ │ └── db/ │ │ ├── data.sql │ │ └── schema.sql │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── orm/ │ └── beetlsql/ │ ├── SpringBootDemoOrmBeetlsqlApplicationTests.java │ └── service/ │ └── UserServiceTest.java ├── demo-orm-jdbctemplate/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── orm/ │ │ │ └── jdbctemplate/ │ │ │ ├── SpringBootDemoOrmJdbctemplateApplication.java │ │ │ ├── annotation/ │ │ │ │ ├── Column.java │ │ │ │ ├── Ignore.java │ │ │ │ ├── Pk.java │ │ │ │ └── Table.java │ │ │ ├── constant/ │ │ │ │ └── Const.java │ │ │ ├── controller/ │ │ │ │ └── UserController.java │ │ │ ├── dao/ │ │ │ │ ├── UserDao.java │ │ │ │ └── base/ │ │ │ │ └── BaseDao.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ └── service/ │ │ │ ├── IUserService.java │ │ │ └── impl/ │ │ │ └── UserServiceImpl.java │ │ └── resources/ │ │ ├── application.yml │ │ └── db/ │ │ ├── data.sql │ │ └── schema.sql │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── orm/ │ └── jdbctemplate/ │ └── SpringBootDemoOrmJdbctemplateApplicationTests.java ├── demo-orm-jpa/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── orm/ │ │ │ └── jpa/ │ │ │ ├── SpringBootDemoOrmJpaApplication.java │ │ │ ├── config/ │ │ │ │ └── JpaConfig.java │ │ │ ├── entity/ │ │ │ │ ├── Department.java │ │ │ │ ├── User.java │ │ │ │ └── base/ │ │ │ │ └── AbstractAuditModel.java │ │ │ └── repository/ │ │ │ ├── DepartmentDao.java │ │ │ └── UserDao.java │ │ └── resources/ │ │ ├── application.yml │ │ └── db/ │ │ ├── data.sql │ │ └── schema.sql │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── orm/ │ └── jpa/ │ ├── SpringBootDemoOrmJpaApplicationTests.java │ └── repository/ │ ├── DepartmentDaoTest.java │ └── UserDaoTest.java ├── demo-orm-mybatis/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── orm/ │ │ │ └── mybatis/ │ │ │ ├── SpringBootDemoOrmMybatisApplication.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ └── mapper/ │ │ │ └── UserMapper.java │ │ └── resources/ │ │ ├── application.yml │ │ ├── db/ │ │ │ ├── data.sql │ │ │ └── schema.sql │ │ └── mappers/ │ │ └── UserMapper.xml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── orm/ │ └── mybatis/ │ ├── SpringBootDemoOrmMybatisApplicationTests.java │ └── mapper/ │ └── UserMapperTest.java ├── demo-orm-mybatis-mapper-page/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── orm/ │ │ │ └── mybatis/ │ │ │ └── MapperAndPage/ │ │ │ ├── SpringBootDemoOrmMybatisMapperPageApplication.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ └── mapper/ │ │ │ └── UserMapper.java │ │ └── resources/ │ │ ├── application.yml │ │ └── db/ │ │ ├── data.sql │ │ └── schema.sql │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── orm/ │ └── mybatis/ │ └── MapperAndPage/ │ ├── SpringBootDemoOrmMybatisMapperPageApplicationTests.java │ └── mapper/ │ └── UserMapperTest.java ├── demo-orm-mybatis-plus/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── orm/ │ │ │ └── mybatis/ │ │ │ └── plus/ │ │ │ ├── SpringBootDemoOrmMybatisPlusApplication.java │ │ │ ├── config/ │ │ │ │ ├── CommonFieldHandler.java │ │ │ │ └── MybatisPlusConfig.java │ │ │ ├── entity/ │ │ │ │ ├── Role.java │ │ │ │ └── User.java │ │ │ ├── mapper/ │ │ │ │ ├── RoleMapper.java │ │ │ │ └── UserMapper.java │ │ │ └── service/ │ │ │ ├── UserService.java │ │ │ └── impl/ │ │ │ └── UserServiceImpl.java │ │ └── resources/ │ │ ├── application.yml │ │ └── db/ │ │ ├── data.sql │ │ └── schema.sql │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── orm/ │ └── mybatis/ │ └── plus/ │ ├── SpringBootDemoOrmMybatisPlusApplicationTests.java │ ├── activerecord/ │ │ └── ActiveRecordTest.java │ └── service/ │ └── UserServiceTest.java ├── demo-pay/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── pay/ │ │ │ └── SpringBootDemoPayApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── pay/ │ └── SpringBootDemoPayApplicationTests.java ├── demo-properties/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── properties/ │ │ │ ├── SpringBootDemoPropertiesApplication.java │ │ │ ├── controller/ │ │ │ │ └── PropertyController.java │ │ │ └── property/ │ │ │ ├── ApplicationProperty.java │ │ │ └── DeveloperProperty.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── additional-spring-configuration-metadata.json │ │ ├── application-dev.yml │ │ ├── application-prod.yml │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── properties/ │ └── SpringBootDemoPropertiesApplicationTests.java ├── demo-ratelimit-guava/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── ratelimit/ │ │ │ └── guava/ │ │ │ ├── SpringBootDemoRatelimitGuavaApplication.java │ │ │ ├── annotation/ │ │ │ │ └── RateLimiter.java │ │ │ ├── aspect/ │ │ │ │ └── RateLimiterAspect.java │ │ │ ├── controller/ │ │ │ │ └── TestController.java │ │ │ └── handler/ │ │ │ └── GlobalExceptionHandler.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── ratelimit/ │ └── guava/ │ └── SpringBootDemoRatelimitGuavaApplicationTests.java ├── demo-ratelimit-redis/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── ratelimit/ │ │ │ └── redis/ │ │ │ ├── SpringBootDemoRatelimitRedisApplication.java │ │ │ ├── annotation/ │ │ │ │ └── RateLimiter.java │ │ │ ├── aspect/ │ │ │ │ └── RateLimiterAspect.java │ │ │ ├── config/ │ │ │ │ └── RedisConfig.java │ │ │ ├── controller/ │ │ │ │ └── TestController.java │ │ │ ├── handler/ │ │ │ │ └── GlobalExceptionHandler.java │ │ │ └── util/ │ │ │ └── IpUtil.java │ │ └── resources/ │ │ ├── application.yml │ │ └── scripts/ │ │ └── redis/ │ │ └── limit.lua │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── ratelimit/ │ └── redis/ │ └── SpringBootDemoRatelimiterRedisApplicationTests.java ├── demo-rbac-security/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ ├── sql/ │ │ └── security.sql │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── rbac/ │ │ │ └── security/ │ │ │ ├── SpringBootDemoRbacSecurityApplication.java │ │ │ ├── common/ │ │ │ │ ├── ApiResponse.java │ │ │ │ ├── BaseException.java │ │ │ │ ├── Consts.java │ │ │ │ ├── IStatus.java │ │ │ │ ├── PageResult.java │ │ │ │ └── Status.java │ │ │ ├── config/ │ │ │ │ ├── CustomConfig.java │ │ │ │ ├── IdConfig.java │ │ │ │ ├── IgnoreConfig.java │ │ │ │ ├── JwtAuthenticationFilter.java │ │ │ │ ├── JwtConfig.java │ │ │ │ ├── RbacAuthorityService.java │ │ │ │ ├── RedisConfig.java │ │ │ │ ├── SecurityConfig.java │ │ │ │ ├── SecurityHandlerConfig.java │ │ │ │ └── WebMvcConfig.java │ │ │ ├── controller/ │ │ │ │ ├── AuthController.java │ │ │ │ ├── MonitorController.java │ │ │ │ └── TestController.java │ │ │ ├── exception/ │ │ │ │ ├── SecurityException.java │ │ │ │ └── handler/ │ │ │ │ └── GlobalExceptionHandler.java │ │ │ ├── model/ │ │ │ │ ├── Permission.java │ │ │ │ ├── Role.java │ │ │ │ ├── RolePermission.java │ │ │ │ ├── User.java │ │ │ │ ├── UserRole.java │ │ │ │ └── unionkey/ │ │ │ │ ├── RolePermissionKey.java │ │ │ │ └── UserRoleKey.java │ │ │ ├── payload/ │ │ │ │ ├── LoginRequest.java │ │ │ │ └── PageCondition.java │ │ │ ├── repository/ │ │ │ │ ├── PermissionDao.java │ │ │ │ ├── RoleDao.java │ │ │ │ ├── RolePermissionDao.java │ │ │ │ ├── UserDao.java │ │ │ │ └── UserRoleDao.java │ │ │ ├── service/ │ │ │ │ ├── CustomUserDetailsService.java │ │ │ │ └── MonitorService.java │ │ │ ├── util/ │ │ │ │ ├── JwtUtil.java │ │ │ │ ├── PageUtil.java │ │ │ │ ├── RedisUtil.java │ │ │ │ ├── ResponseUtil.java │ │ │ │ └── SecurityUtil.java │ │ │ └── vo/ │ │ │ ├── JwtResponse.java │ │ │ ├── OnlineUser.java │ │ │ └── UserPrincipal.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── rbac/ │ └── security/ │ ├── SpringBootDemoRbacSecurityApplicationTests.java │ ├── repository/ │ │ ├── DataInitTest.java │ │ └── UserDaoTest.java │ └── util/ │ └── RedisUtilTest.java ├── demo-rbac-shiro/ │ ├── .gitignore │ ├── pom.xml │ ├── sql/ │ │ └── shiro.sql │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── rbac/ │ │ │ └── shiro/ │ │ │ ├── SpringBootDemoRbacShiroApplication.java │ │ │ ├── common/ │ │ │ │ ├── IResultCode.java │ │ │ │ ├── R.java │ │ │ │ └── ResultCode.java │ │ │ ├── config/ │ │ │ │ └── MybatisPlusConfig.java │ │ │ └── controller/ │ │ │ └── TestController.java │ │ └── resources/ │ │ ├── application.yml │ │ └── spy.properties │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── rbac/ │ └── shiro/ │ └── SpringBootDemoRbacShiroApplicationTests.java ├── demo-session/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── session/ │ │ │ ├── SpringBootDemoSessionApplication.java │ │ │ ├── config/ │ │ │ │ └── WebMvcConfig.java │ │ │ ├── constants/ │ │ │ │ └── Consts.java │ │ │ ├── controller/ │ │ │ │ └── PageController.java │ │ │ └── interceptor/ │ │ │ └── SessionInterceptor.java │ │ └── resources/ │ │ ├── application.yml │ │ └── templates/ │ │ ├── index.html │ │ └── login.html │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── session/ │ └── SpringBootDemoSessionApplicationTests.java ├── demo-sharding-jdbc/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ ├── sql/ │ │ └── schema.sql │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── sharding/ │ │ │ └── jdbc/ │ │ │ ├── SpringBootDemoShardingJdbcApplication.java │ │ │ ├── config/ │ │ │ │ ├── CustomSnowflakeKeyGenerator.java │ │ │ │ └── DataSourceShardingConfig.java │ │ │ ├── mapper/ │ │ │ │ └── OrderMapper.java │ │ │ └── model/ │ │ │ └── Order.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── sharding/ │ └── jdbc/ │ └── SpringBootDemoShardingJdbcApplicationTests.java ├── demo-social/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── social/ │ │ │ ├── SpringBootDemoSocialApplication.java │ │ │ └── controller/ │ │ │ └── OauthController.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── social/ │ └── SpringBootDemoSocialApplicationTests.java ├── demo-swagger/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── swagger/ │ │ │ ├── SpringBootDemoSwaggerApplication.java │ │ │ ├── common/ │ │ │ │ ├── ApiResponse.java │ │ │ │ ├── DataType.java │ │ │ │ └── ParamType.java │ │ │ ├── config/ │ │ │ │ └── Swagger2Config.java │ │ │ ├── controller/ │ │ │ │ └── UserController.java │ │ │ └── entity/ │ │ │ └── User.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── swagger/ │ └── SpringBootDemoSwaggerApplicationTests.java ├── demo-swagger-beauty/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── swagger/ │ │ │ └── beauty/ │ │ │ ├── SpringBootDemoSwaggerBeautyApplication.java │ │ │ ├── common/ │ │ │ │ └── ApiResponse.java │ │ │ ├── controller/ │ │ │ │ └── UserController.java │ │ │ └── entity/ │ │ │ └── User.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── swagger/ │ └── beauty/ │ └── SpringBootDemoSwaggerBeautyApplicationTests.java ├── demo-task/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── task/ │ │ │ ├── SpringBootDemoTaskApplication.java │ │ │ ├── config/ │ │ │ │ └── TaskConfig.java │ │ │ └── job/ │ │ │ └── TaskJob.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── task/ │ └── SpringBootDemoTaskApplicationTests.java ├── demo-task-quartz/ │ ├── .gitignore │ ├── README.md │ ├── init/ │ │ └── dbTables/ │ │ ├── tables_cloudscape.sql │ │ ├── tables_cubrid.sql │ │ ├── tables_db2.sql │ │ ├── tables_db2_v72.sql │ │ ├── tables_db2_v8.sql │ │ ├── tables_db2_v95.sql │ │ ├── tables_derby.sql │ │ ├── tables_derby_previous.sql │ │ ├── tables_firebird.sql │ │ ├── tables_h2.sql │ │ ├── tables_hsqldb.sql │ │ ├── tables_hsqldb_old.sql │ │ ├── tables_informix.sql │ │ ├── tables_mysql.sql │ │ ├── tables_mysql_innodb.sql │ │ ├── tables_oracle.sql │ │ ├── tables_pointbase.sql │ │ ├── tables_postgres.sql │ │ ├── tables_sapdb.sql │ │ ├── tables_solid.sql │ │ ├── tables_sqlServer.sql │ │ └── tables_sybase.sql │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── task/ │ │ │ └── quartz/ │ │ │ ├── SpringBootDemoTaskQuartzApplication.java │ │ │ ├── common/ │ │ │ │ └── ApiResponse.java │ │ │ ├── controller/ │ │ │ │ └── JobController.java │ │ │ ├── entity/ │ │ │ │ ├── domain/ │ │ │ │ │ └── JobAndTrigger.java │ │ │ │ └── form/ │ │ │ │ └── JobForm.java │ │ │ ├── job/ │ │ │ │ ├── HelloJob.java │ │ │ │ ├── TestJob.java │ │ │ │ └── base/ │ │ │ │ └── BaseJob.java │ │ │ ├── mapper/ │ │ │ │ └── JobMapper.java │ │ │ ├── service/ │ │ │ │ ├── JobService.java │ │ │ │ └── impl/ │ │ │ │ └── JobServiceImpl.java │ │ │ └── util/ │ │ │ └── JobUtil.java │ │ └── resources/ │ │ ├── application.yml │ │ ├── mappers/ │ │ │ └── JobMapper.xml │ │ └── static/ │ │ └── job.html │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── task/ │ └── quartz/ │ └── SpringBootDemoTaskQuartzApplicationTests.java ├── demo-task-xxl-job/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── xkcoding/ │ │ └── task/ │ │ └── xxl/ │ │ └── job/ │ │ ├── SpringBootDemoTaskXxlJobApplication.java │ │ ├── config/ │ │ │ ├── XxlJobConfig.java │ │ │ └── props/ │ │ │ └── XxlJobProps.java │ │ ├── controller/ │ │ │ └── ManualOperateController.java │ │ └── task/ │ │ └── DemoTask.java │ └── resources/ │ └── application.yml ├── demo-template-beetl/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── template/ │ │ │ └── beetl/ │ │ │ ├── SpringBootDemoTemplateBeetlApplication.java │ │ │ ├── controller/ │ │ │ │ ├── IndexController.java │ │ │ │ └── UserController.java │ │ │ └── model/ │ │ │ └── User.java │ │ └── resources/ │ │ ├── application.yml │ │ └── templates/ │ │ ├── common/ │ │ │ └── head.html │ │ └── page/ │ │ ├── index.btl │ │ └── login.btl │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── template/ │ └── beetl/ │ └── SpringBootDemoTemplateBeetlApplicationTests.java ├── demo-template-enjoy/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── template/ │ │ │ └── enjoy/ │ │ │ ├── SpringBootDemoTemplateEnjoyApplication.java │ │ │ ├── config/ │ │ │ │ └── EnjoyConfig.java │ │ │ ├── controller/ │ │ │ │ ├── IndexController.java │ │ │ │ └── UserController.java │ │ │ └── model/ │ │ │ └── User.java │ │ └── resources/ │ │ ├── application.yml │ │ └── templates/ │ │ ├── common/ │ │ │ └── head.html │ │ └── page/ │ │ ├── index.html │ │ └── login.html │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── template/ │ └── enjoy/ │ └── SpringBootDemoTemplateEnjoyApplicationTests.java ├── demo-template-freemarker/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── template/ │ │ │ └── freemarker/ │ │ │ ├── SpringBootDemoTemplateFreemarkerApplication.java │ │ │ ├── controller/ │ │ │ │ ├── IndexController.java │ │ │ │ └── UserController.java │ │ │ └── model/ │ │ │ └── User.java │ │ └── resources/ │ │ ├── application.yml │ │ └── templates/ │ │ ├── common/ │ │ │ └── head.ftl │ │ └── page/ │ │ ├── index.ftl │ │ └── login.ftl │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── template/ │ └── freemarker/ │ └── SpringBootDemoTemplateFreemarkerApplicationTests.java ├── demo-template-thymeleaf/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── template/ │ │ │ └── thymeleaf/ │ │ │ ├── SpringBootDemoTemplateThymeleafApplication.java │ │ │ ├── controller/ │ │ │ │ ├── IndexController.java │ │ │ │ └── UserController.java │ │ │ └── model/ │ │ │ └── User.java │ │ └── resources/ │ │ ├── application.yml │ │ └── templates/ │ │ ├── common/ │ │ │ └── head.html │ │ └── page/ │ │ ├── index.html │ │ └── login.html │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── template/ │ └── thymeleaf/ │ └── SpringBootDemoTemplateThymeleafApplicationTests.java ├── demo-tio/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── springbootdemotio/ │ │ │ └── SpringBootDemoTioApplication.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── springbootdemotio/ │ └── SpringBootDemoTioApplicationTests.java ├── demo-uflo/ │ ├── .gitignore │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── uflo/ │ │ │ └── SpringBootDemoUfloApplication.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── uflo/ │ └── SpringBootDemoUfloApplicationTests.java ├── demo-upload/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── upload/ │ │ │ ├── SpringBootDemoUploadApplication.java │ │ │ ├── config/ │ │ │ │ └── UploadConfig.java │ │ │ ├── controller/ │ │ │ │ ├── IndexController.java │ │ │ │ └── UploadController.java │ │ │ └── service/ │ │ │ ├── IQiNiuService.java │ │ │ └── impl/ │ │ │ └── QiNiuServiceImpl.java │ │ └── resources/ │ │ ├── application.yml │ │ └── templates/ │ │ └── index.html │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── upload/ │ └── SpringBootDemoUploadApplicationTests.java ├── demo-ureport2/ │ ├── .gitignore │ ├── README.md │ ├── doc/ │ │ ├── sql/ │ │ │ └── t_user_ureport2.sql │ │ └── ureport2/ │ │ └── user_inner_datasource.ureport.xml │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── ureport2/ │ │ │ ├── SpringBootDemoUreport2Application.java │ │ │ └── config/ │ │ │ └── InnerDatasource.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── ureport2/ │ └── SpringBootDemoUreport2ApplicationTests.java ├── demo-urule/ │ ├── .gitignore │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── urule/ │ │ │ └── SpringBootDemoUruleApplication.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── urule/ │ └── SpringBootDemoUruleApplicationTests.java ├── demo-war/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── war/ │ │ │ └── SpringBootDemoWarApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── war/ │ └── SpringBootDemoWarApplicationTests.java ├── demo-websocket/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── websocket/ │ │ │ ├── SpringBootDemoWebsocketApplication.java │ │ │ ├── common/ │ │ │ │ └── WebSocketConsts.java │ │ │ ├── config/ │ │ │ │ └── WebSocketConfig.java │ │ │ ├── controller/ │ │ │ │ └── ServerController.java │ │ │ ├── model/ │ │ │ │ ├── Server.java │ │ │ │ └── server/ │ │ │ │ ├── Cpu.java │ │ │ │ ├── Jvm.java │ │ │ │ ├── Mem.java │ │ │ │ ├── Sys.java │ │ │ │ └── SysFile.java │ │ │ ├── payload/ │ │ │ │ ├── KV.java │ │ │ │ ├── ServerVO.java │ │ │ │ └── server/ │ │ │ │ ├── CpuVO.java │ │ │ │ ├── JvmVO.java │ │ │ │ ├── MemVO.java │ │ │ │ ├── SysFileVO.java │ │ │ │ └── SysVO.java │ │ │ ├── task/ │ │ │ │ └── ServerTask.java │ │ │ └── util/ │ │ │ ├── IpUtil.java │ │ │ └── ServerUtil.java │ │ └── resources/ │ │ ├── application.yml │ │ └── static/ │ │ ├── js/ │ │ │ └── stomp.js │ │ └── server.html │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── websocket/ │ └── SpringBootDemoWebsocketApplicationTests.java ├── demo-websocket-socketio/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── websocket/ │ │ │ └── socketio/ │ │ │ ├── SpringBootDemoWebsocketSocketioApplication.java │ │ │ ├── config/ │ │ │ │ ├── DbTemplate.java │ │ │ │ ├── Event.java │ │ │ │ ├── ServerConfig.java │ │ │ │ └── WsConfig.java │ │ │ ├── controller/ │ │ │ │ └── MessageController.java │ │ │ ├── handler/ │ │ │ │ └── MessageEventHandler.java │ │ │ ├── init/ │ │ │ │ └── ServerRunner.java │ │ │ └── payload/ │ │ │ ├── BroadcastMessageRequest.java │ │ │ ├── GroupMessageRequest.java │ │ │ ├── JoinRequest.java │ │ │ └── SingleMessageRequest.java │ │ └── resources/ │ │ ├── application.yml │ │ └── static/ │ │ ├── bootstrap.css │ │ ├── index.html │ │ └── js/ │ │ └── socket.io/ │ │ └── socket.io.js │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── websocket/ │ └── socketio/ │ └── SpringBootDemoWebsocketSocketioApplicationTests.java ├── demo-zookeeper/ │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xkcoding/ │ │ │ └── zookeeper/ │ │ │ ├── SpringBootDemoZookeeperApplication.java │ │ │ ├── annotation/ │ │ │ │ ├── LockKeyParam.java │ │ │ │ └── ZooLock.java │ │ │ ├── aspectj/ │ │ │ │ └── ZooLockAspect.java │ │ │ └── config/ │ │ │ ├── ZkConfig.java │ │ │ └── props/ │ │ │ └── ZkProps.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── xkcoding/ │ └── zookeeper/ │ └── SpringBootDemoZookeeperApplicationTests.java ├── jd.md └── pom.xml