├── .gitignore ├── LICENSE ├── README.md ├── ai-labs-master ├── langchain4j-labs │ ├── langchain4j-lab01 │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── cn │ │ │ │ │ └── itbeien │ │ │ │ │ └── langchain4j │ │ │ │ │ └── ai │ │ │ │ │ ├── LangChain4jLab01.java │ │ │ │ │ └── controller │ │ │ │ │ └── OpenAIController.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ │ └── test │ │ │ └── java │ │ │ └── cn │ │ │ └── itbeien │ │ │ └── langchain4j │ │ │ └── ai │ │ │ └── test │ │ │ └── LangChain4jLab01Test.java │ ├── langchain4j-lab02 │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── lab02 │ │ │ │ ├── Lab02Boot.java │ │ │ │ ├── config │ │ │ │ └── AssistantConfiguration.java │ │ │ │ ├── controller │ │ │ │ ├── MultiTurnChatController.java │ │ │ │ └── QAController.java │ │ │ │ └── service │ │ │ │ ├── MultiTurnChatService.java │ │ │ │ └── QAService.java │ │ │ └── resources │ │ │ └── application.properties │ ├── langchain4j-lab03 │ │ ├── document │ │ │ └── RAG文档内容.pdf │ │ ├── lab03.http │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── lab03 │ │ │ │ ├── Lab03Demo.java │ │ │ │ ├── config │ │ │ │ ├── EmbeddingStoreConfig.java │ │ │ │ ├── InMemoryEmbeddingConfig.java │ │ │ │ └── PgVectorConfig.java │ │ │ │ ├── controller │ │ │ │ └── ChatAiAPI.java │ │ │ │ └── service │ │ │ │ └── Assistant.java │ │ │ └── resources │ │ │ └── application.properties │ ├── langchain4j-lab04 │ │ ├── lab04.http │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── lab04 │ │ │ │ ├── Lab04Boot.java │ │ │ │ ├── api │ │ │ │ └── AssistantAPI.java │ │ │ │ ├── config │ │ │ │ └── AppConfig.java │ │ │ │ └── service │ │ │ │ └── AIAssistant.java │ │ │ └── resources │ │ │ └── application.properties │ ├── langchain4j-lab05 │ │ ├── lab05.http │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── lab05 │ │ │ │ ├── Lab05Boot.java │ │ │ │ ├── config │ │ │ │ └── AppConfig.java │ │ │ │ ├── controller │ │ │ │ └── AiController.java │ │ │ │ └── service │ │ │ │ ├── AiAssistant.java │ │ │ │ └── PersistenceChatMemoryStore.java │ │ │ └── resources │ │ │ └── application.properties │ ├── langchain4j-lab06 │ │ ├── lab06.http │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── cn │ │ │ │ ├── Lab06Boot.java │ │ │ │ ├── config │ │ │ │ └── AppConfig.java │ │ │ │ ├── controller │ │ │ │ └── AiController.java │ │ │ │ └── service │ │ │ │ ├── AiAssistant.java │ │ │ │ └── PersistenceChatMemoryStore.java │ │ │ └── resources │ │ │ └── application.properties │ ├── langchain4j-lab07 │ │ ├── lab07.http │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── lab07 │ │ │ │ ├── Lab07Boot.java │ │ │ │ ├── api │ │ │ │ └── AssistantAPI.java │ │ │ │ ├── config │ │ │ │ └── AppConfig.java │ │ │ │ ├── service │ │ │ │ └── AIAssistant.java │ │ │ │ └── tool │ │ │ │ └── FunctionCall.java │ │ │ └── resources │ │ │ └── application.properties │ ├── langchain4j-lab08 │ │ ├── lab08.http │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── cn │ │ │ │ ├── Lab08Boot.java │ │ │ │ ├── config │ │ │ │ └── AppConfig.java │ │ │ │ └── service │ │ │ │ ├── AIAssistant.java │ │ │ │ └── PersistenceChatMemoryStore.java │ │ │ └── resources │ │ │ └── application.properties │ ├── langchain4j-lab09 │ │ ├── lab09.http │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── cn │ │ │ │ │ └── itbeien │ │ │ │ │ └── lab09 │ │ │ │ │ ├── Lab09Boot.java │ │ │ │ │ └── controller │ │ │ │ │ └── AiController.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ │ └── test │ │ │ └── java │ │ │ └── cn │ │ │ └── itbeien │ │ │ └── lab09 │ │ │ └── test │ │ │ └── Lab09BootTest.java │ ├── pom.xml │ └── readme.md └── spring-ai-labs │ ├── .gitignore │ ├── pom.xml │ ├── readme.md │ ├── spring-ai-lab01 │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── ai │ │ │ └── springai │ │ │ ├── SpringAIBoot.java │ │ │ ├── controller │ │ │ └── AIController.java │ │ │ └── service │ │ │ └── DeepSeekService.java │ │ └── resources │ │ └── application.properties │ ├── spring-ai-lab02 │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── ai │ │ │ └── springai │ │ │ ├── Lab02Boot.java │ │ │ └── controller │ │ │ └── AIChatController.java │ │ └── resources │ │ └── application.properties │ ├── spring-ai-lab03 │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── ai │ │ │ └── springai │ │ │ ├── Lab03Boot.java │ │ │ └── controller │ │ │ └── Lab03Controller.java │ │ └── resources │ │ └── application.properties │ ├── spring-ai-lab04 │ ├── lab04.http │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── ai │ │ │ │ └── springai │ │ │ │ ├── VectorBoot.java │ │ │ │ ├── controller │ │ │ │ └── RagController.java │ │ │ │ └── service │ │ │ │ ├── FileService.java │ │ │ │ └── RagService.java │ │ └── resources │ │ │ ├── application.properties │ │ │ └── db │ │ │ └── rag-ddl.sql │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── ai │ │ └── springai │ │ └── VectorBootTest.java │ ├── spring-ai-lab05 │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── ai │ │ │ └── springai │ │ │ ├── Lab05Boot.java │ │ │ └── controller │ │ │ └── Lab05Controller.java │ │ └── resources │ │ └── application.properties │ ├── spring-ai-lab06 │ ├── lab06.http │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── lab06 │ │ │ ├── Lab06Boot.java │ │ │ ├── controller │ │ │ └── AiController.java │ │ │ └── service │ │ │ └── FunctionCallingService.java │ │ └── resources │ │ └── application.properties │ ├── spring-ai-lab07 │ ├── pom.xml │ ├── spring-ai-mcp-client │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── lab07 │ │ │ │ └── client │ │ │ │ ├── MCPClientBoot.java │ │ │ │ ├── config │ │ │ │ └── AppConfig.java │ │ │ │ └── controller │ │ │ │ └── AiController.java │ │ │ └── resources │ │ │ ├── application.properties │ │ │ └── mcp-servers-config.json │ └── spring-ai-mcp-server │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── lab07 │ │ │ └── server │ │ │ ├── MCPServerBoot.java │ │ │ ├── config │ │ │ └── AppConfig.java │ │ │ └── service │ │ │ └── McpService.java │ │ └── resources │ │ └── application.properties │ └── spring-ai-lab08 │ ├── pom.xml │ ├── spring-ai-mcp-client-stdio │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── mcp │ │ │ └── client │ │ │ ├── McpClientStdioBoot.java │ │ │ └── controller │ │ │ └── AiController.java │ │ └── resources │ │ ├── application.properties │ │ └── mcp-servers-config.json │ └── spring-ai-mcp-server-stdio │ ├── pom.xml │ └── src │ └── main │ ├── java │ └── cn │ │ └── ibeien │ │ └── mcp │ │ └── server │ │ ├── McpServerStdioBoot.java │ │ ├── config │ │ └── AppConfig.java │ │ └── service │ │ └── McpService.java │ └── resources │ └── application.properties ├── bilibili ├── beien-saas-db │ ├── .gitignore │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── readme.txt │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── beien │ │ │ │ ├── ActuatorAuthFilter.java │ │ │ │ ├── BeienSaasDbApplication.java │ │ │ │ ├── DynamicDataSource.java │ │ │ │ ├── DynamicDataSourceContextHolder.java │ │ │ │ ├── annotation │ │ │ │ └── DS.java │ │ │ │ ├── aspect │ │ │ │ └── DynamicDataSourceAspect.java │ │ │ │ ├── configuration │ │ │ │ └── DynamicDataSourceConfig.java │ │ │ │ ├── constants │ │ │ │ └── DataSourceConstants.java │ │ │ │ ├── dao │ │ │ │ ├── DBDao.java │ │ │ │ ├── UserInfoDao.java │ │ │ │ └── saasdb │ │ │ │ │ └── TenantConfigDao.java │ │ │ │ ├── datasource │ │ │ │ ├── AbstractDataSourceFactory.java │ │ │ │ ├── DataSourceContextHolder.java │ │ │ │ ├── DataSourceRouteInterceptor.java │ │ │ │ ├── DriudDataSourceFactory.java │ │ │ │ ├── DynDataSourceCache.java │ │ │ │ ├── DynamicDataSource.java │ │ │ │ └── DynamicDataSourceManager.java │ │ │ │ ├── entity │ │ │ │ ├── DatabaseConfig.java │ │ │ │ ├── Order.java │ │ │ │ ├── SysUserInfo.java │ │ │ │ └── UserInfo.java │ │ │ │ ├── enums │ │ │ │ ├── DataSource.java │ │ │ │ ├── DatasourceConstantPropertiKey.java │ │ │ │ ├── DbReadWriteModel.java │ │ │ │ └── ISysconfigKey.java │ │ │ │ ├── exception │ │ │ │ ├── AbstractDtException.java │ │ │ │ ├── ApplicationErrorCode.java │ │ │ │ ├── DtBusinessException.java │ │ │ │ ├── DtComponentException.java │ │ │ │ ├── IDtErrorCode.java │ │ │ │ ├── data │ │ │ │ │ └── AbstractDtMonitorData.java │ │ │ │ └── warnig │ │ │ │ │ ├── DtWarnTypeEnum.java │ │ │ │ │ ├── DtWarningLevelEnum.java │ │ │ │ │ ├── IDtWarnType.java │ │ │ │ │ ├── IWarnBussinessTypeEnum.java │ │ │ │ │ ├── IWarnSystemEnum.java │ │ │ │ │ └── module │ │ │ │ │ ├── DtProductProjectEnum.java │ │ │ │ │ └── IDtProductProject.java │ │ │ │ ├── mutiltransaction │ │ │ │ ├── EnableMutilTranactionManagement.java │ │ │ │ ├── IngnoreMethod.java │ │ │ │ ├── Invocation.java │ │ │ │ ├── IsolationLevel.java │ │ │ │ ├── MethodInvocationHander.java │ │ │ │ ├── MutiDSTransactionInterceptor.java │ │ │ │ ├── MutiTransactionUtil.java │ │ │ │ ├── MutilDSProcessor.java │ │ │ │ └── MutilTransactional.java │ │ │ │ ├── service │ │ │ │ ├── IDBService.java │ │ │ │ ├── ISaasModuleService.java │ │ │ │ ├── ITestService.java │ │ │ │ ├── IUserService.java │ │ │ │ └── impl │ │ │ │ │ ├── DBService.java │ │ │ │ │ ├── SaasModuleService.java │ │ │ │ │ ├── TestService.java │ │ │ │ │ └── UserService.java │ │ │ │ └── util │ │ │ │ ├── SystemConfig.java │ │ │ │ ├── encrypt │ │ │ │ └── EncryptUtil.java │ │ │ │ └── spring │ │ │ │ └── SpringUtils.java │ │ └── resources │ │ │ ├── application.properties │ │ │ ├── logback-spring.xml │ │ │ └── mapper │ │ │ ├── UserInfoMapper.xml │ │ │ ├── dataBaseMapper.xml │ │ │ └── saasdb │ │ │ └── TenantConfigMapper.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── beien │ │ └── BeienSaasDbApplicationTests.java ├── beien-springboot-dbdoc-util │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── readme.txt │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── beien │ │ │ │ └── beienspringbootdbdoc │ │ │ │ └── BeienSpringbootDbdocApplication.java │ │ └── resources │ │ │ ├── application.properties │ │ │ └── logback-spring.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── beien │ │ └── beienspringbootdbdoc │ │ └── BeienDocumentGeneration.java ├── beien-springboot-rocketmq │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.md │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── readme │ ├── sql │ │ ├── order.sql │ │ └── pay.sql │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── beien │ │ │ │ ├── BeienSpringbootRocketmqApplication.java │ │ │ │ ├── OrderMsg.java │ │ │ │ ├── ProductMQController.java │ │ │ │ ├── controller │ │ │ │ └── RocketMqController.java │ │ │ │ ├── enums │ │ │ │ └── RocketEnum.java │ │ │ │ ├── service │ │ │ │ ├── BeienConsumer.java │ │ │ │ ├── BeienProducer.java │ │ │ │ └── RocketMQConsumerListener.java │ │ │ │ └── util │ │ │ │ └── TimeUtil.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── beien │ │ └── BeienSpringbootRocketmqApplicationTests.java ├── beien-springsession-redis │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── docker │ │ │ └── Dockerfile │ │ ├── java │ │ │ └── com │ │ │ │ └── beien │ │ │ │ ├── BeienSpringsessionRedisApplication.java │ │ │ │ └── controller │ │ │ │ └── SpringSessionController.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── beien │ │ └── BeienSpringsessionRedisApplicationTests.java ├── beien_springboot_util_01 │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── readme.txt │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── beien │ │ │ │ ├── AccessLimitController.java │ │ │ │ ├── ApiLimitApplication.java │ │ │ │ ├── ApiPower.java │ │ │ │ ├── LimitController.java │ │ │ │ ├── SensitiveApplication.java │ │ │ │ ├── TccApplication.java │ │ │ │ ├── annotation │ │ │ │ ├── AccessLimit.java │ │ │ │ ├── Desensitize.java │ │ │ │ ├── GuavaLimit.java │ │ │ │ ├── Limit.java │ │ │ │ └── Sensitive.java │ │ │ │ ├── controller │ │ │ │ └── RequestHeader.java │ │ │ │ ├── dao │ │ │ │ └── UserDao.java │ │ │ │ ├── enums │ │ │ │ ├── DesensitizeRuleEnums.java │ │ │ │ ├── LimitType.java │ │ │ │ └── SensitiveStrategy.java │ │ │ │ ├── exception │ │ │ │ └── CustomerException.java │ │ │ │ ├── pojo │ │ │ │ └── UserInfo.java │ │ │ │ ├── redis │ │ │ │ └── config │ │ │ │ │ └── RedisConfig.java │ │ │ │ ├── service │ │ │ │ ├── IBeienTokenService.java │ │ │ │ ├── IUserService.java │ │ │ │ └── impl │ │ │ │ │ ├── BeienTokenService.java │ │ │ │ │ └── UserService.java │ │ │ │ ├── util │ │ │ │ ├── AccessLimitInterceptor.java │ │ │ │ ├── DesensitizedUtil.java │ │ │ │ ├── HttpDataUtil.java │ │ │ │ ├── HttpRequestUtil.java │ │ │ │ ├── IPUtil.java │ │ │ │ ├── LimitAop.java │ │ │ │ ├── LimitAspect.java │ │ │ │ ├── RedisLimitUtil.java │ │ │ │ ├── SensitiveJsonSerializer.java │ │ │ │ ├── SignUtil.java │ │ │ │ └── WebConfig.java │ │ │ │ └── view │ │ │ │ └── Message.java │ │ └── resources │ │ │ ├── application.properties │ │ │ ├── logback-spring.xml │ │ │ └── mybatis │ │ │ └── mapper │ │ │ └── UserMapper.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── beien │ │ ├── BeienApi.java │ │ ├── BeienScrewApplicationTest.java │ │ └── SpringbootbeienApplicationTests.java ├── beien_transaction_01 │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── readme.txt │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── beien │ │ │ │ ├── TransactionBeienApplication.java │ │ │ │ ├── dao │ │ │ │ └── UserDao.java │ │ │ │ ├── entity │ │ │ │ └── UserInfo.java │ │ │ │ └── service │ │ │ │ ├── IUserService.java │ │ │ │ └── impl │ │ │ │ └── UserService.java │ │ └── resources │ │ │ ├── application.properties │ │ │ ├── applicationbak.properties │ │ │ └── mybatis │ │ │ └── mapper │ │ │ └── userInfoMapper.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── beien │ │ ├── TransactionBeienApplicationTests.java │ │ └── TransactionFailure.java ├── itbeien-springboot-admin-new │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── itbeien │ │ │ ├── ITBeienWatchNewApplication.java │ │ │ └── config │ │ │ └── SecuritySecureConfig.java │ │ └── resources │ │ └── application.properties ├── readme.txt └── saas-cloud-ticket │ ├── pom.xml │ ├── readme.md │ ├── ticket-gateway-client │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── beien │ │ │ └── client │ │ │ ├── Application.java │ │ │ └── socket │ │ │ ├── ClientChannelInitializer.java │ │ │ ├── ClientHandler.java │ │ │ └── NettyClient.java │ │ └── resources │ │ └── application.properties │ └── ticket-gateway │ ├── pom.xml │ └── src │ └── main │ ├── java │ └── com │ │ └── beien │ │ ├── Application.java │ │ ├── enums │ │ └── RocketEnum.java │ │ ├── service │ │ ├── IMqProductService.java │ │ ├── ITicketConsumerService.java │ │ ├── TicketFeign.java │ │ ├── TicketServiceFallback.java │ │ ├── impl │ │ │ ├── MqProcuctService.java │ │ │ └── TicketConsumerService.java │ │ └── product │ │ │ └── BeienProducer.java │ │ ├── socket │ │ ├── NettyServer.java │ │ ├── ServerChannelInitializer.java │ │ └── ServerHandler.java │ │ └── util │ │ ├── SpringUtil.java │ │ └── TimeUtil.java │ └── resources │ ├── application.properties │ └── bootstrap.properties ├── image ├── CSDN-red.svg ├── WeChat-itbeien.svg ├── 博客-blue.svg ├── 掘金-blue.svg ├── 语雀-green.svg └── 飞书-8A2BE2.svg ├── itbeien-springcloudalibaba-master ├── .gitignore ├── README.md ├── img │ ├── 一键三连.png │ └── 关于我.png ├── itbeien-springboot-job │ ├── pom.xml │ └── springboot-quartz │ │ ├── pom.xml │ │ ├── readme.txt │ │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ ├── Application.java │ │ │ ├── config │ │ │ ├── JobFactory.java │ │ │ └── QuartzConfig.java │ │ │ ├── controller │ │ │ └── BaseController.java │ │ │ └── timer │ │ │ └── QuartzTask.java │ │ └── resources │ │ ├── application.properties │ │ └── quartz.properties ├── itbeien-springcloudalibaba-master │ ├── .gitignore │ ├── itbeien-lab01 │ │ ├── 01SpringCloudAlibaba整合Nacos配置和注册中心.md │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ ├── Lab01Application.java │ │ │ │ ├── config │ │ │ │ └── NacosConfig.java │ │ │ │ └── controller │ │ │ │ └── NacosController.java │ │ │ └── resources │ │ │ └── application.properties │ ├── itbeien-lab02 │ │ ├── 02SpingCloudAlibaba多环境整合Nacos配置项.md │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ ├── Lab02Application.java │ │ │ │ ├── config │ │ │ │ └── NacosConfig.java │ │ │ │ └── controller │ │ │ │ └── Lab02Controller.java │ │ │ └── resources │ │ │ ├── application-dev.properties │ │ │ ├── application-product.properties │ │ │ └── application.properties │ ├── itbeien-lab03 │ │ ├── 03SpringCloudAlibaba服务注册.md │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ ├── Lab03Application.java │ │ │ │ ├── controller │ │ │ │ └── Lab03Controller.java │ │ │ │ └── service │ │ │ │ ├── CardFeignService.java │ │ │ │ └── CardService.java │ │ │ └── resources │ │ │ ├── application-dev.properties │ │ │ ├── application-product.properties │ │ │ └── application.properties │ ├── itbeien-lab04 │ │ ├── 04SpringCloudAlibaba服务消费的两种方式.md │ │ ├── img │ │ │ └── 服务消费(聚合支付系统调用卡系统).png │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ ├── Lab04Application.java │ │ │ │ └── controller │ │ │ │ └── Lab04Controller.java │ │ │ └── resources │ │ │ ├── application-dev.properties │ │ │ ├── application-product.properties │ │ │ └── application.properties │ └── pom.xml ├── itbeien-springcloudalibaba │ ├── doc │ │ └── 09Spring Cloud Sentinel整合Nacos实现配置持久化.pdf │ ├── itbeien-mall │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ ├── MallApplication.java │ │ │ │ ├── controller │ │ │ │ └── MallController.java │ │ │ │ ├── fallback │ │ │ │ ├── PayServiceFeignClientFallback.java │ │ │ │ └── PayServiceFeignClientFallbackFactory.java │ │ │ │ └── service │ │ │ │ └── CallPayService.java │ │ │ └── resources │ │ │ └── bootstrap.properties │ ├── itbeien-pay │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ ├── PayApplication.java │ │ │ │ └── controller │ │ │ │ └── PayController.java │ │ │ └── resources │ │ │ └── bootstrap.properties │ ├── itbeien-sentinel-springcloud │ │ ├── pom.xml │ │ ├── readme.txt │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ ├── SentinelApplication.java │ │ │ │ └── controller │ │ │ │ └── SentinelController.java │ │ │ └── resources │ │ │ └── application.properties │ ├── pom.xml │ ├── readme.txt │ └── sentinel-nacos-springcloud │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── META-INF │ │ └── services │ │ │ └── com.alibaba.csp.sentinel.init.InitFunc │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ ├── SentinelApplication.java │ │ │ ├── controller │ │ │ └── SentinelController.java │ │ │ ├── init │ │ │ └── DataSourceInitFunc.java.bak │ │ │ ├── nacos │ │ │ └── NacosWritableDataSource.java │ │ │ └── sentinel │ │ │ ├── SentinelNacosDataSourceHandler.java │ │ │ └── config │ │ │ └── SentinelNacosDataSourceConfiguration.java │ │ └── resources │ │ ├── bootstrap.properties │ │ ├── bootstrap.yml.bak │ │ ├── flow-rules.json │ │ ├── spring-cloud-sentinel-demo.yml │ │ ├── spring-cloud-sentinel-nacos.properties │ │ └── spring-cloud-sentinel-nacos.properties.bak └── minio │ ├── doc │ ├── 01分布式对象存储minio.pdf │ └── 02SpringBoot整合Minio上传文件.pdf │ └── itbeien-springboot │ ├── minio │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ ├── MinioManager.java │ │ │ ├── config │ │ │ └── MinioConfig.java │ │ │ ├── controller │ │ │ └── MinioController.java │ │ │ └── util │ │ │ └── MinioClientUtil.java │ │ └── resources │ │ └── application.yml │ ├── pom.xml │ ├── springboot-minio │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ ├── MinIOApplication.java │ │ │ ├── config │ │ │ └── MinioConfig.java │ │ │ ├── controller │ │ │ └── MinioController.java │ │ │ └── util │ │ │ └── MinioClientUtil.java │ │ └── resources │ │ └── application.yml │ └── springboot-scheduled │ ├── pom.xml │ └── src │ └── main │ └── java │ └── cn │ └── itbeien │ ├── SpringbootSchedulingTasksApplication.java │ └── timer │ └── ScheduledTasks.java ├── langchain4j-reading ├── .gitignore ├── README.md ├── image │ └── langchain4j-reading.png ├── langchain4j-core-lab01 │ ├── README.md │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── langchain4j │ │ ├── ApiContants.java │ │ └── DeepSeekExamples.java └── pom.xml ├── pay-labs-dubbo-master ├── pay-api-dubbo │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── api │ │ └── IPayService.java ├── pay-dubbo │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── pay │ │ │ ├── PayDubboApplication.java │ │ │ └── service │ │ │ └── PayService.java │ │ └── resources │ │ ├── application.properties │ │ └── application.yml.bak ├── pom.xml ├── posp-gateway-client │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── client │ │ │ ├── ClientApplication.java │ │ │ └── socket │ │ │ ├── ClientChannelInitializer.java │ │ │ ├── ClientHandler.java │ │ │ └── NettyClient.java │ │ └── resources │ │ └── application.properties ├── posp-gateway-dubbo │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ ├── GatewayApplication.java │ │ │ ├── service │ │ │ ├── IPayConsumerService.java │ │ │ └── impl │ │ │ │ └── PayConsumerService.java │ │ │ └── socket │ │ │ ├── NettyServer.java │ │ │ ├── ServerChannelInitializer.java │ │ │ └── ServerHandler.java │ │ └── resources │ │ ├── application.properties │ │ └── application.yml.bak └── readme.md ├── pay-labs-master ├── itbeien-util │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── cn │ │ └── itbeien │ │ ├── Main.java │ │ └── common │ │ ├── config │ │ └── DtPayConfig.java │ │ ├── constant │ │ └── Constants.java │ │ └── util │ │ ├── Base64Util.java │ │ ├── DtUtil.java │ │ └── qr │ │ ├── BitMatrixBuilder.java │ │ ├── MatrixToImageWriterWithLogo.java │ │ ├── QrcodeTest.java │ │ ├── QrcodeUtil.java │ │ └── ZxingCode.java ├── pay-spring-cloud-alibaba │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── pay │ │ │ ├── PayApplication.java │ │ │ ├── api │ │ │ └── PayController.java │ │ │ ├── config │ │ │ └── ResourcesConfig.java │ │ │ └── service │ │ │ ├── IQrCodeService.java │ │ │ └── impl │ │ │ └── QrCodeService.java │ │ └── resources │ │ └── application.properties ├── pom.xml ├── posp-gateway-client │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── client │ │ │ ├── ClientApplication.java │ │ │ ├── enuns │ │ │ └── CommandIDEnums.java │ │ │ ├── protocol │ │ │ ├── Protocol.java │ │ │ ├── codec │ │ │ │ └── ProtocolDecode.java │ │ │ ├── request │ │ │ │ └── RegistrationRequest.java │ │ │ └── response │ │ │ │ └── RegistrationResponse.java │ │ │ ├── socket │ │ │ ├── ClientChannelInitializer.java │ │ │ ├── ClientHandler.java │ │ │ ├── NettyClient.java │ │ │ └── handler │ │ │ │ └── PosClientHandler.java │ │ │ └── util │ │ │ ├── ByteUtil.java │ │ │ └── SerializationTool.java │ │ └── resources │ │ └── application.properties ├── posp-gateway │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ ├── GatewayApplication.java │ │ │ ├── enums │ │ │ ├── CommandIDEnums.java │ │ │ └── ServiceInstanceEnum.java │ │ │ ├── protocol │ │ │ ├── Protocol.java │ │ │ ├── codec │ │ │ │ ├── ProtocolDecode.java │ │ │ │ └── ProtocolEncode.java │ │ │ ├── request │ │ │ │ └── RegistrationRequest.java │ │ │ └── response │ │ │ │ └── RegistrationResponse.java │ │ │ ├── service │ │ │ ├── IPayConsumerService.java │ │ │ ├── feign │ │ │ │ └── PayFeign.java │ │ │ └── impl │ │ │ │ └── PayConsumerService.java │ │ │ ├── socket │ │ │ ├── NettyServer.java │ │ │ ├── ServerChannelInitializer.java │ │ │ ├── ServerHandler.java │ │ │ └── handler │ │ │ │ └── PosHandler.java │ │ │ ├── util │ │ │ ├── ByteUtil.java │ │ │ ├── SerializationTool.java │ │ │ ├── SpringUtil.java │ │ │ ├── TimeUtil.java │ │ │ └── TypeFormat.java │ │ │ └── vo │ │ │ └── PaymentVO.java │ │ └── resources │ │ └── application.properties └── readme.md ├── pd ├── wordTemplate.rtp └── 通过comment注释转中文name脚本.txt ├── programming-language ├── go-code │ ├── .gitignore │ ├── README.md │ └── go-lab01 │ │ ├── README.md │ │ ├── go.mod │ │ ├── main.go │ │ └── variable-lab.go ├── java-code │ └── README.md ├── python-code │ ├── .gitignore │ ├── README.md │ ├── python-lab01 │ │ ├── README.md │ │ ├── keyword-lab.py │ │ └── variable-lab.py │ └── python-lab02 │ │ └── lab02.py └── typescript-code │ ├── README.md │ ├── typescript-lab01 │ └── lab01.ts │ └── typescript-lab02 │ └── lab02.ts ├── readme.txt ├── spring-ai-reading ├── .gitignore ├── README.md ├── image │ └── springai-reading.png ├── pom.xml └── spring-ai-client-chat-lab01 │ ├── README.md │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── springai │ │ │ └── ChatClientBoot.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── cn │ └── itbeien │ └── springai │ └── test │ └── ChatClientTest.java ├── springboot3-labs-master ├── .gitignore ├── README.md ├── dynamic-datasource-mybatis-plus │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── dynamic │ │ │ │ ├── DynamicApplication.java │ │ │ │ ├── entity │ │ │ │ └── SysUser.java │ │ │ │ ├── mapper │ │ │ │ └── SysUserMapper.java │ │ │ │ └── service │ │ │ │ ├── UserService.java │ │ │ │ └── UserServiceImpl.java │ │ └── resources │ │ │ ├── application.properties │ │ │ └── db │ │ │ ├── data-mysql.sql │ │ │ └── schema-mysql.sql │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── dynamic │ │ └── DynamicTest.java ├── mybatis-generator │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── Application.java │ │ └── resources │ │ └── generatorConfig.xml ├── pom.xml ├── spingboot-mybatis │ ├── pom.xml │ ├── readme.md │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── mybatis │ │ │ │ ├── MyBatisApplication.java │ │ │ │ ├── dao │ │ │ │ └── SysUserMapper.java │ │ │ │ └── entity │ │ │ │ ├── SysUser.java │ │ │ │ └── SysUserExample.java │ │ └── resources │ │ │ ├── application-test.properties │ │ │ ├── application.properties │ │ │ ├── db │ │ │ ├── data-mysql.sql │ │ │ └── schema-mysql.sql │ │ │ └── mapper │ │ │ └── test │ │ │ └── SysUserMapper.xml │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── mybatis │ │ └── test │ │ └── MyBatisTest.java ├── springboot-activemq │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── activemq │ │ │ │ ├── ActiveMQApp.java │ │ │ │ └── service │ │ │ │ ├── ConsumerService.java │ │ │ │ └── ProducerService.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── activemq │ │ └── test │ │ └── ActiveMQApp.java ├── springboot-apachepulsar │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── pulsar │ │ │ │ ├── PulsarApp.java │ │ │ │ └── service │ │ │ │ ├── ConsumerService.java │ │ │ │ └── ProducerService.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── pulsar │ │ └── test │ │ └── PulsarApp.java ├── springboot-caffeine │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── caffeine │ │ │ │ ├── CaffeineBoot.java │ │ │ │ ├── config │ │ │ │ └── CacheConfig.java │ │ │ │ ├── controller │ │ │ │ └── CaffeineController.java │ │ │ │ ├── dao │ │ │ │ └── SysUserMapper.java │ │ │ │ ├── entity │ │ │ │ ├── SysUser.java │ │ │ │ └── SysUserExample.java │ │ │ │ └── service │ │ │ │ └── CacheService.java │ │ └── resources │ │ │ ├── application.properties │ │ │ ├── db │ │ │ ├── data-mysql.sql │ │ │ └── schema-mysql.sql │ │ │ └── mapper │ │ │ └── user │ │ │ └── SysUserMapper.xml │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── caffeine │ │ └── CaffeineBootTest.java ├── springboot-canal │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── canal │ │ │ │ ├── CanalApplication.java │ │ │ │ ├── entity │ │ │ │ └── SysUser.java │ │ │ │ └── util │ │ │ │ ├── CanalUtil.java │ │ │ │ └── RedisClient.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── canal │ │ └── test │ │ └── CanalApplication.java ├── springboot-email │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── mail │ │ │ │ ├── MaliBoot.java │ │ │ │ └── service │ │ │ │ ├── MailService.java │ │ │ │ └── impl │ │ │ │ └── MailServiceImpl.java │ │ └── resources │ │ │ ├── application.properties │ │ │ ├── spring-copy.png │ │ │ └── templates │ │ │ └── emailTemplate.html │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── mail │ │ └── MailBootTest.java ├── springboot-fileupload │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── upload │ │ │ ├── FileUploadBoot.java │ │ │ ├── controller │ │ │ └── UploadController.java │ │ │ └── exception │ │ │ └── GlobalExceptionHandler.java │ │ └── resources │ │ ├── application.properties │ │ └── templates │ │ ├── upload.html │ │ └── uploadStatus.html ├── springboot-jsqlparser │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── jsqlparser │ │ │ │ ├── JSqlParserBoot.java │ │ │ │ ├── dao │ │ │ │ └── SysUserMapper.java │ │ │ │ ├── entity │ │ │ │ ├── SysUser.java │ │ │ │ └── SysUserExample.java │ │ │ │ └── plugin │ │ │ │ └── DataAuthInterceptor.java │ │ └── resources │ │ │ ├── application.properties │ │ │ ├── db │ │ │ ├── data-mysql.sql │ │ │ └── schema-mysql.sql │ │ │ └── mapper │ │ │ └── test │ │ │ └── SysUserMapper.xml │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── jsqlparser │ │ └── test │ │ └── MyBatisTest.java ├── springboot-kafka │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── kafka │ │ │ │ ├── KafkaApp.java │ │ │ │ ├── service │ │ │ │ ├── ConsumerService.java │ │ │ │ └── ProducerService.java │ │ │ │ └── vo │ │ │ │ └── SampleMessage.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── kafka │ │ └── test │ │ └── KafkaApp.java ├── springboot-knife4j │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── knife4j │ │ │ ├── Knife4jBoot.java │ │ │ └── controller │ │ │ └── TestController.java │ │ └── resources │ │ └── application.properties ├── springboot-mapstruct-lombok │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── cn │ │ │ └── itbeien │ │ │ └── mapstruct │ │ │ └── lombok │ │ │ ├── Main.java │ │ │ ├── convert │ │ │ └── MerchantConvert.java │ │ │ ├── entity │ │ │ └── MerchantInfo.java │ │ │ ├── enums │ │ │ └── MerModeEnum.java │ │ │ └── vo │ │ │ ├── BaseMerchantVO.java │ │ │ ├── MerchantInfoVO.java │ │ │ └── SmallMerchantVO.java │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── mapstruct │ │ └── lombok │ │ └── test │ │ └── MapStructTest.java ├── springboot-mapstruct │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── cn │ │ │ └── itbeien │ │ │ └── mapstruct │ │ │ ├── Main.java │ │ │ ├── convert │ │ │ └── MerchantConvert.java │ │ │ ├── entity │ │ │ └── MerchantInfo.java │ │ │ ├── enums │ │ │ └── MerModeEnum.java │ │ │ └── vo │ │ │ ├── BaseMerchantVO.java │ │ │ ├── MerchantInfoVO.java │ │ │ └── SmallMerchantVO.java │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── mapstruct │ │ └── test │ │ └── MapStructTest.java ├── springboot-mybatis-multi-datasource │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── multi │ │ │ │ ├── MultiBoot.java │ │ │ │ ├── config │ │ │ │ ├── DataSourceOneConfig.java │ │ │ │ └── DataSourceTwoConfig.java │ │ │ │ ├── entity │ │ │ │ └── SysUser.java │ │ │ │ └── mapper │ │ │ │ ├── testone │ │ │ │ └── UserOneMapper.java │ │ │ │ └── testtwo │ │ │ │ └── UserTwoMapper.java │ │ └── resources │ │ │ ├── application.properties │ │ │ └── db │ │ │ └── sys_user.sql │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── multi │ │ ├── MultiBootTest.java │ │ └── MultiBootTestOther.java ├── springboot-mybatis-nacos │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── mybatis │ │ │ │ └── nacos │ │ │ │ ├── MyBatisNacosApplication.java │ │ │ │ ├── dao │ │ │ │ └── SysUserMapper.java │ │ │ │ └── entity │ │ │ │ ├── SysUser.java │ │ │ │ └── SysUserExample.java │ │ └── resources │ │ │ ├── application-test.properties │ │ │ ├── application.properties │ │ │ ├── db │ │ │ ├── data-mysql.sql │ │ │ └── schema-mysql.sql │ │ │ └── mapper │ │ │ └── test │ │ │ └── SysUserMapper.xml │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── mybatis │ │ └── nacos │ │ └── test │ │ └── MyBatisTest.java ├── springboot-mybatis-plus │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── mybatis │ │ │ │ └── plus │ │ │ │ ├── MyBatisPlusApplication.java │ │ │ │ ├── entity │ │ │ │ └── SysUser.java │ │ │ │ └── mapper │ │ │ │ └── SysUserMapper.java │ │ └── resources │ │ │ ├── application.properties │ │ │ └── db │ │ │ ├── data-mysql.sql │ │ │ └── schema-mysql.sql │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── mybatis │ │ └── plus │ │ └── test │ │ └── MyBatisPlusTest.java ├── springboot-nacos │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── nacos │ │ │ │ ├── NacosApplication.java │ │ │ │ ├── config │ │ │ │ └── NacosLabConfig.java │ │ │ │ └── controller │ │ │ │ └── NacosLabController.java │ │ └── resources │ │ │ ├── application-test.properties │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── nacos │ │ └── test │ │ └── NacosTest.java ├── springboot-openfeign │ ├── pom.xml │ ├── springboot-openfeign-client │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── cn │ │ │ │ │ └── itbeien │ │ │ │ │ └── openfeign │ │ │ │ │ ├── OpenfeignBoot.java │ │ │ │ │ ├── config │ │ │ │ │ └── FeignConfig.java │ │ │ │ │ └── feign │ │ │ │ │ ├── ServiceFeignClient.java │ │ │ │ │ └── vo │ │ │ │ │ ├── UserRequest.java │ │ │ │ │ └── UserResponse.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ │ └── test │ │ │ └── java │ │ │ └── cn │ │ │ └── itbeien │ │ │ └── openfeign │ │ │ └── test │ │ │ └── ServiceApiTest.java │ └── springboot-openfeign-service │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── openfeign │ │ │ └── service │ │ │ ├── ServiceBoot.java │ │ │ ├── controller │ │ │ └── ServiceController.java │ │ │ └── vo │ │ │ ├── UserRequest.java │ │ │ └── UserResponse.java │ │ └── resources │ │ └── application.properties ├── springboot-quartz-db │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── quartz │ │ │ ├── DBQuartzBoot.java │ │ │ ├── component │ │ │ ├── AgentJob.java │ │ │ ├── JobService.java │ │ │ └── MerchantJob.java │ │ │ ├── config │ │ │ └── MybatisConfig.java │ │ │ ├── controller │ │ │ └── QuartzController.java │ │ │ ├── entity │ │ │ ├── QuartzJob.java │ │ │ └── QuartzLog.java │ │ │ ├── enums │ │ │ ├── JobStatus.java │ │ │ └── LogStatus.java │ │ │ ├── mapper │ │ │ ├── QuartzJobMapper.java │ │ │ └── QuartzLogMapper.java │ │ │ └── service │ │ │ ├── QuartzJobService.java │ │ │ ├── QuartzLogService.java │ │ │ ├── QuartzManage.java │ │ │ ├── QuartzRecord.java │ │ │ └── SpringContextUtil.java │ │ └── resources │ │ ├── application.properties │ │ ├── db │ │ ├── db_quartz_boot.sql │ │ └── tables_mysql_innodb.sql │ │ └── mapper │ │ ├── QuartzJobMapper.xml │ │ └── QuartzLogMapper.xml ├── springboot-quartz │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── quartz │ │ │ ├── QuartzBoot.java │ │ │ ├── config │ │ │ └── QuartzConfig.java │ │ │ ├── job │ │ │ └── ReportJob.java │ │ │ └── service │ │ │ └── QuartzService.java │ │ └── resources │ │ └── application.properties ├── springboot-rabbitmq │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── rabbitmq │ │ │ │ ├── RabbitMQApp.java │ │ │ │ └── service │ │ │ │ ├── ConsumerService.java │ │ │ │ └── ProducerService.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── rabbitmq │ │ └── test │ │ └── RabbitMQApp.java ├── springboot-redisson │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── redisson │ │ │ │ ├── RedissonApplication.java │ │ │ │ ├── config │ │ │ │ ├── RedissonConfig.java │ │ │ │ └── RedissonProperties.java │ │ │ │ └── service │ │ │ │ └── LockService.java │ │ └── resources │ │ │ └── application.yml │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── redisson │ │ └── test │ │ └── RedissonApplication.java ├── springboot-resilience4j │ ├── pom.xml │ ├── springboot-resilience4j-client │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── resilience4j │ │ │ │ └── client │ │ │ │ ├── Resilience4jClientBoot.java │ │ │ │ └── controller │ │ │ │ └── ClientController.java │ │ │ └── resources │ │ │ └── application.properties │ └── springboot-resilience4j-server │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── resilience4j │ │ │ ├── Resilience4jBoot.java │ │ │ └── controller │ │ │ └── ServerController.java │ │ └── resources │ │ └── application.properties ├── springboot-rocketmq │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── rocketmq │ │ │ │ ├── RocketMQApplication.java │ │ │ │ ├── config │ │ │ │ └── RocketMqConfig.java │ │ │ │ ├── service │ │ │ │ ├── ConsumerService.java │ │ │ │ └── ProducerService.java │ │ │ │ └── vo │ │ │ │ └── MessageVO.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── cn │ │ └── itbeien │ │ └── rocketmq │ │ └── test │ │ └── RocketMQApplication.java ├── springboot-springdoc2 │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── springdoc │ │ │ ├── SpringDocBoot.java │ │ │ ├── config │ │ │ └── Swagger3Config.java │ │ │ ├── controller │ │ │ └── ApiController.java │ │ │ └── vo │ │ │ └── Result.java │ │ └── resources │ │ └── application.properties ├── springboot-springsecurity │ ├── pom.xml │ ├── springsecurity-encoder │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ └── java │ │ │ └── cn │ │ │ └── itbeien │ │ │ └── springsecurity │ │ │ └── encoder │ │ │ └── test │ │ │ └── SpringSecurityEncoderTest.java │ ├── springsecurity-jwt │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── security │ │ │ │ └── jwt │ │ │ │ ├── JwtBoot.java │ │ │ │ ├── component │ │ │ │ ├── JwtAuthenticationTokenFilter.java │ │ │ │ ├── RestAuthenticationEntryPoint.java │ │ │ │ └── RestfulAccessDeniedHandler.java │ │ │ │ ├── config │ │ │ │ ├── CommonSecurityConfig.java │ │ │ │ ├── IgnoreUrlsConfig.java │ │ │ │ └── SecurityConfig.java │ │ │ │ ├── controller │ │ │ │ └── SystemController.java │ │ │ │ ├── dto │ │ │ │ ├── CommonResult.java │ │ │ │ ├── IErrorCode.java │ │ │ │ ├── ResultCode.java │ │ │ │ └── SystemLoginParam.java │ │ │ │ ├── entity │ │ │ │ ├── SysResource.java │ │ │ │ └── SysUser.java │ │ │ │ ├── exception │ │ │ │ └── BusinessException.java │ │ │ │ ├── mapper │ │ │ │ └── SysUserMapper.java │ │ │ │ ├── service │ │ │ │ ├── SystemService.java │ │ │ │ └── impl │ │ │ │ │ ├── SysUserDetails.java │ │ │ │ │ └── SystemServiceImpl.java │ │ │ │ └── util │ │ │ │ ├── Asserts.java │ │ │ │ └── JwtTokenUtil.java │ │ │ └── resources │ │ │ ├── application.properties │ │ │ └── mapper │ │ │ └── SysUserMapper.xml │ ├── springsecurity-memory │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── springsecurity │ │ │ │ ├── MemoryBoot.java │ │ │ │ ├── config │ │ │ │ └── FrameworkSecurityConfig.java │ │ │ │ └── controller │ │ │ │ └── SystemController.java │ │ │ └── resources │ │ │ ├── application.properties │ │ │ └── templates │ │ │ └── index.html │ ├── springsecurity-mysql8.4.3 │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── springsecurity │ │ │ │ ├── MySQLBoot.java │ │ │ │ ├── config │ │ │ │ ├── FrameworkSecurityConfig.java │ │ │ │ └── MySQLUserDetailsManager.java │ │ │ │ ├── controller │ │ │ │ ├── SysUserController.java │ │ │ │ └── SystemController.java │ │ │ │ ├── entity │ │ │ │ └── SysUser.java │ │ │ │ ├── mapper │ │ │ │ └── SysUserMapper.java │ │ │ │ └── service │ │ │ │ ├── SysUserService.java │ │ │ │ └── impl │ │ │ │ └── SysUserServiceImpl.java │ │ │ └── resources │ │ │ ├── application.properties │ │ │ ├── db │ │ │ ├── data-mysql.sql │ │ │ └── table-mysql.sql │ │ │ ├── mapper │ │ │ └── SysUserMapper.xml │ │ │ └── templates │ │ │ └── index.html │ ├── springsecurity-oauth2 │ │ ├── pom.xml │ │ └── springsecurity-oauth2-github │ │ │ ├── pom.xml │ │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── cn │ │ │ │ └── itbeien │ │ │ │ └── security │ │ │ │ └── oauth2 │ │ │ │ ├── OAuth2Boot.java │ │ │ │ └── controller │ │ │ │ └── OAuth2GitHubController.java │ │ │ └── resources │ │ │ ├── application.properties │ │ │ └── templates │ │ │ └── index.html │ └── springsecurity-simple │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── springsecurity │ │ │ ├── SimpleBoot.java │ │ │ └── controller │ │ │ └── SystemController.java │ │ └── resources │ │ ├── application.properties │ │ └── templates │ │ └── index.html ├── springboot-sse │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── itbeien │ │ │ └── sse │ │ │ ├── SSEBoot.java │ │ │ └── controller │ │ │ └── SSEController.java │ │ └── resources │ │ └── static │ │ └── sse.html └── springboot-webflux │ ├── pom.xml │ └── src │ ├── main │ └── java │ │ └── cn │ │ └── itbeien │ │ └── webflux │ │ ├── WebFluxBoot.java │ │ └── controller │ │ └── WebFluxController.java │ └── test │ └── java │ └── cn │ └── itbeien │ └── webflux │ └── WebFluxBootTest.java └── springframework-reading ├── .gitignore ├── README.md ├── pom.xml └── springframework-core ├── README.md ├── pom.xml └── src └── main ├── java └── cn │ └── itbeien │ └── springframework │ ├── ResourceBoot.java │ └── config │ └── AppConfig.java └── resources └── application.properties /ai-labs-master/langchain4j-labs/langchain4j-lab01/src/main/java/cn/itbeien/langchain4j/ai/LangChain4jLab01.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.langchain4j.ai; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class LangChain4jLab01 { 16 | public static void main(String[] args) { 17 | SpringApplication.run(LangChain4jLab01.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab01/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | langchain4j.open-ai.chat-model.api-key=demo 2 | langchain4j.open-ai.chat-model.model-name=gpt-4o-mini -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab02/src/main/java/cn/itbeien/lab02/Lab02Boot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.lab02; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class Lab02Boot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(Lab02Boot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab02/src/main/java/cn/itbeien/lab02/config/AssistantConfiguration.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.lab02.config; 2 | 3 | import dev.langchain4j.memory.ChatMemory; 4 | import dev.langchain4j.memory.chat.MessageWindowChatMemory; 5 | import org.springframework.context.annotation.Bean; 6 | import org.springframework.context.annotation.Configuration; 7 | 8 | /** 9 | * @author itbeien 10 | * 项目网站:https://www.itbeien.cn 11 | * 公众号:贝恩聊架构 12 | * 全网同名,欢迎小伙伴们关注 13 | * Java/AI学习社群 14 | * Copyright© 2025 itbeien 15 | */ 16 | @Configuration 17 | public class AssistantConfiguration { 18 | @Bean 19 | ChatMemory chatMemory() { 20 | return MessageWindowChatMemory.withMaxMessages(10); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab02/src/main/java/cn/itbeien/lab02/service/MultiTurnChatService.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.lab02.service; 2 | 3 | 4 | import dev.langchain4j.service.SystemMessage; 5 | import dev.langchain4j.service.spring.AiService; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * Java/AI学习社群 13 | * Copyright© 2025 itbeien 14 | */ 15 | @AiService 16 | public interface MultiTurnChatService { 17 | @SystemMessage("你是一个支持多轮对话的客服助理") 18 | String chat(String userMessage); 19 | } 20 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab02/src/main/java/cn/itbeien/lab02/service/QAService.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.lab02.service; 2 | 3 | import dev.langchain4j.model.chat.ChatModel; 4 | import org.springframework.stereotype.Service; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @Service 15 | public class QAService { 16 | 17 | ChatModel chatModel; 18 | 19 | public QAService(ChatModel chatModel) { 20 | this.chatModel = chatModel; 21 | } 22 | 23 | public String askQuestion(String userMessage) { 24 | return chatModel.chat(userMessage); 25 | } 26 | } -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab02/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | langchain4j.open-ai.chat-model.api-key=demo 2 | langchain4j.open-ai.chat-model.model-name=gpt-4o-mini -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab03/document/RAG文档内容.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/ai-labs-master/langchain4j-labs/langchain4j-lab03/document/RAG文档内容.pdf -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab03/lab03.http: -------------------------------------------------------------------------------- 1 | ### 低级别API实现ai助手 2 | GET http://localhost:8080/chat/chat 3 | ?question=你是谁 4 | 5 | ### 高级别API基于本地知识库实现ai助手 6 | GET http://localhost:8080/chat/assistant 7 | ?question=saas-db组件是什么 8 | 9 | ### 加载本地知识库到内存 10 | GET http://localhost:8080/chat/load 11 | 12 | ### 加载本地知识库到pgvector向量数据库 13 | GET http://localhost:8080/chat/load 14 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab03/src/main/java/cn/itbeien/lab03/service/Assistant.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.lab03.service; 2 | 3 | 4 | /** 5 | * @author itbeien 6 | * 项目网站:https://www.itbeien.cn 7 | * 公众号:贝恩聊架构 8 | * 全网同名,欢迎小伙伴们关注 9 | * Java/AI学习社群 10 | * Copyright© 2025 itbeien 11 | */ 12 | public interface Assistant { 13 | public String chat(String question); 14 | } 15 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab03/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | #langchain4j.community.dashscope.chatmodel.model-name=qwen-max 2 | langchain4j.community.dashscope.chatmodel.model-name=deepseek-v3 3 | langchain4j.community.dashscope.chat-model.api-key=${DASHSCOPE_API_KEY} 4 | langchain4j.community.zhihu.api-key=${ZHI_PU} 5 | pg.vector.database=vector_store 6 | pg.vector.host=localhost 7 | pg.vector.port=5432 8 | pg.vector.username=postgres 9 | pg.vector.password=${DB_PWD} 10 | pg.vector.tableName=itbeien_vector_store -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab04/lab04.http: -------------------------------------------------------------------------------- 1 | ### 低级别API实现AI助理 2 | GET http://localhost:8080/chat/chat 3 | ?question=你是谁 4 | 5 | ### AI助手 6 | GET http://localhost:8080/chat/systemMessage 7 | ?question=我的第一个问题是? 8 | ### 测试会话记忆 9 | GET http://localhost:8080/chat/assistant? 10 | memoryId=1&question=我的第一个问题是什么 11 | 12 | ### 测试会话隔离 13 | GET http://localhost:8080/chat/assistant? 14 | memoryId=2&question=我的第一个问题是什么 15 | 16 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab04/src/main/java/cn/itbeien/lab04/Lab04Boot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.lab04; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class Lab04Boot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(Lab04Boot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab04/src/main/java/cn/itbeien/lab04/service/AIAssistant.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.lab04.service; 2 | 3 | import dev.langchain4j.service.MemoryId; 4 | import dev.langchain4j.service.SystemMessage; 5 | import dev.langchain4j.service.UserMessage; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * Java/AI学习社群 13 | * Copyright© 2025 itbeien 14 | */ 15 | public interface AIAssistant { 16 | @SystemMessage("你是一个程序员,你只能回答技术问题,请记住不能回答非技术问题") 17 | public String chat(String question); 18 | public String chat(@MemoryId String memoryId, @UserMessage String question); 19 | } 20 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab04/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | langchain4j.community.dashscope.chatmodel.model-name=deepseek-v3 2 | langchain4j.community.dashscope.chat-model.api-key=${DASHSCOPE_API_KEY} -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab05/lab05.http: -------------------------------------------------------------------------------- 1 | ### low-level component 对话服务 2 | GET http://localhost:8080/ai/chat 3 | ?question=你觉得你能替代程序员的哪些工作 4 | 5 | ### high-level component 对话服务 6 | GET http://localhost:8080/ai/highChat 7 | ?question=你觉得你能替代程序员的哪些工作 8 | 9 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab05/src/main/java/cn/itbeien/lab05/Lab05Boot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.lab05; 2 | 3 | 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * Java/AI学习社群 13 | * Copyright© 2025 itbeien 14 | */ 15 | @SpringBootApplication 16 | public class Lab05Boot { 17 | public static void main(String[] args) { 18 | SpringApplication.run(Lab05Boot.class, args); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab05/src/main/java/cn/itbeien/lab05/service/AiAssistant.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.lab05.service; 2 | 3 | /** 4 | * high-level component 对话服务 5 | * @author itbeien 6 | * 项目网站:https://www.itbeien.cn 7 | * 公众号:贝恩聊架构 8 | * 全网同名,欢迎小伙伴们关注 9 | * Java/AI学习社群 10 | * Copyright© 2025 itbeien 11 | */ 12 | public interface AiAssistant { 13 | String highChat(String question); 14 | } 15 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab05/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | langchain4j.community.dashscope.chatmodel.model-name=deepseek-v3 2 | langchain4j.community.dashscope.chat-model.api-key=${DASHSCOPE_API_KEY} -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab06/lab06.http: -------------------------------------------------------------------------------- 1 | ### low-level component 实现角色和场景设置对话 2 | GET http://localhost:8080/ai/chat 3 | ?question=请你说说人工智能未来会替代哪些工作,我们可以围绕着哪些需求开发AI产品 4 | 5 | ### high-level component 实现角色和场景设置对话 6 | GET http://localhost:8080/ai/highChat 7 | ?question=请你说说人工智能未来会替代哪些工作,我们可以围绕着哪些需求开发AI产品 8 | 9 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab06/src/main/java/cn/itbeien/cn/Lab06Boot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.cn; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class Lab06Boot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(Lab06Boot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab06/src/main/java/cn/itbeien/cn/service/AiAssistant.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.cn.service; 2 | 3 | import dev.langchain4j.service.SystemMessage; 4 | 5 | /** 6 | * high-level component 对话服务 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | public interface AiAssistant { 15 | @SystemMessage("假如你是埃隆·里夫·马斯克,请用他的思维方式和用户对话") 16 | String highChat(String question); 17 | } 18 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab06/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | langchain4j.community.dashscope.chatmodel.model-name=deepseek-v3 2 | langchain4j.community.dashscope.chat-model.api-key=${DASHSCOPE_API_KEY} -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab07/lab07.http: -------------------------------------------------------------------------------- 1 | ### function calling 2 | GET http://localhost:8080/chat/chat 3 | ?question=你是谁 4 | 5 | ### function calling 6 | GET http://localhost:8080/chat/systemMessage 7 | ?question=退票 8 | 9 | 10 | ### function calling 退票 11 | GET http://localhost:8080/chat/assistant 12 | ?memoryId=1&question=退票 13 | 14 | 15 | ### function calling 退票并输入订单号 16 | GET http://localhost:8080/chat/assistant 17 | ?memoryId=1&question=退票,订单号=112345578 18 | 19 | 20 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab07/src/main/java/cn/itbeien/lab07/Lab07Boot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.lab07; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | /** 6 | * @author itbeien 7 | * 项目网站:https://www.itbeien.cn 8 | * 公众号:贝恩聊架构 9 | * 全网同名,欢迎小伙伴们关注 10 | * Java/AI学习社群 11 | * langchain4j-lab07大模型应用开发LangChain4j实战 function calling能力支持 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class Lab07Boot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(Lab07Boot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab07/src/main/java/cn/itbeien/lab07/service/AIAssistant.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.lab07.service; 2 | 3 | import dev.langchain4j.service.MemoryId; 4 | import dev.langchain4j.service.SystemMessage; 5 | import dev.langchain4j.service.UserMessage; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * Java/AI学习社群 13 | * Copyright© 2025 itbeien 14 | */ 15 | public interface AIAssistant { 16 | @SystemMessage("你是景区智能客服,当遇到景区相关问题时,你需要回答景区相关问题。当遇到退票问题时,需要客户提供订单号,然后你需要回答退票相关问题。") 17 | public String chat(String question); 18 | public String chat(@MemoryId String memoryId, @UserMessage String question); 19 | } 20 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab07/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | langchain4j.community.dashscope.chatmodel.model-name=deepseek-v3 2 | langchain4j.community.dashscope.chat-model.api-key=${DASHSCOPE_API_KEY} -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab08/lab08.http: -------------------------------------------------------------------------------- 1 | ### 持久化消息 2 | GET http://localhost:8080/chat/chat 3 | ?question=你是谁 4 | 5 | ### 持久化消息 6 | GET http://localhost:8080/chat/systemMessage 7 | ?question=订单号:11111111111 8 | 9 | 10 | ### 持久化消息 11 | GET http://localhost:8080/chat/assistant 12 | ?memoryId=1&question=退票 13 | 14 | 15 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab08/src/main/java/cn/itbeien/cn/Lab08Boot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.cn; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class Lab08Boot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(Lab08Boot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab08/src/main/java/cn/itbeien/cn/service/AIAssistant.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.cn.service; 2 | 3 | import dev.langchain4j.service.MemoryId; 4 | import dev.langchain4j.service.SystemMessage; 5 | import dev.langchain4j.service.UserMessage; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * Java/AI学习社群 13 | * Copyright© 2025 itbeien 14 | */ 15 | public interface AIAssistant { 16 | @SystemMessage("你是一个程序员,你只能回答技术问题,请记住不能回答非技术问题") 17 | public String chat(String question); 18 | public String chat(@MemoryId String memoryId, @UserMessage String question); 19 | } 20 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab08/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | langchain4j.community.dashscope.chatmodel.model-name=deepseek-v3 2 | langchain4j.community.dashscope.chat-model.api-key=${DASHSCOPE_API_KEY} -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab09/lab09.http: -------------------------------------------------------------------------------- 1 | ### 流式输出 2 | GET http://localhost:8080/ai/streamChat 3 | ?message=你是谁 4 | 5 | 6 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab09/src/main/java/cn/itbeien/lab09/Lab09Boot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.lab09; 2 | 3 | 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | 8 | /** 9 | * @author itbeien 10 | * 项目网站:https://www.itbeien.cn 11 | * 公众号:贝恩聊架构 12 | * 全网同名,欢迎小伙伴们关注 13 | * Java/AI学习社群 14 | * Copyright© 2025 itbeien 15 | */ 16 | @SpringBootApplication 17 | public class Lab09Boot { 18 | public static void main(String[] args) { 19 | SpringApplication.run(Lab09Boot.class, args); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ai-labs-master/langchain4j-labs/langchain4j-lab09/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | langchain4j.community.dashscope.chatmodel.model-name=qwen-max 2 | langchain4j.community.dashscope.chat-model.api-key=${DASHSCOPE_API_KEY} 3 | langchain4j.community.dashscope.streaming-chat-model.api-key=${DASHSCOPE_API_KEY} 4 | langchain4j.community.dashscope.streaming-chat-model.model-name=qwq-32b -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | !**/src/main/**/target/ 4 | !**/src/test/**/target/ 5 | 6 | ### IntelliJ IDEA ### 7 | .idea/modules.xml 8 | .idea/jarRepositories.xml 9 | .idea/compiler.xml 10 | .idea/libraries/ 11 | *.iws 12 | *.iml 13 | *.ipr 14 | 15 | ### Eclipse ### 16 | .apt_generated 17 | .classpath 18 | .factorypath 19 | .project 20 | .settings 21 | .springBeans 22 | .sts4-cache 23 | 24 | ### NetBeans ### 25 | /nbproject/private/ 26 | /nbbuild/ 27 | /dist/ 28 | /nbdist/ 29 | /.nb-gradle/ 30 | build/ 31 | !**/src/main/**/build/ 32 | !**/src/test/**/build/ 33 | 34 | ### VS Code ### 35 | .vscode/ 36 | 37 | ### Mac OS ### 38 | .DS_Store -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab01/src/main/java/cn/itbeien/ai/springai/SpringAIBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.ai.springai; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class SpringAIBoot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(SpringAIBoot.class, args); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab01/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.ai.zhipuai.api-key=${ZHIPU} 2 | spring.ai.zhipuai.api-url=https://api.zhipuai.cn/chat/completions 3 | spring.ai.deepseek.api-key=${DEEPSEEK_KEY} 4 | spring.ai.deepseek.api-url=https://api.deepseek.com/chat/completions -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab02/src/main/java/cn/itbeien/ai/springai/Lab02Boot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.ai.springai; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | /** 6 | * @author itbeien 7 | * 项目网站:https://www.itbeien.cn 8 | * 公众号:贝恩聊架构 9 | * 全网同名,欢迎小伙伴们关注 10 | * Java/AI学习社群 11 | * Copyright© 2025 itbeien 12 | */ 13 | @SpringBootApplication 14 | public class Lab02Boot { 15 | public static void main(String[] args) { 16 | SpringApplication.run(Lab02Boot.class, args); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab02/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.ai.openai.api-key=${DEEPSEEK_KEY} 2 | spring.ai.openai.base-url=https://api.deepseek.com 3 | spring.ai.openai.chat.options.model=deepseek-chat 4 | spring.ai.openai.chat.options.temperature=0.7 5 | 6 | # The DeepSeek API doesn't support embeddings, so we need to disable it. 7 | spring.ai.openai.embedding.enabled=false -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab03/src/main/java/cn/itbeien/ai/springai/Lab03Boot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.ai.springai; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class Lab03Boot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(Lab03Boot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab03/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.ai.openai.api-key=${DEEPSEEK_KEY} 2 | spring.ai.openai.base-url=https://api.deepseek.com 3 | spring.ai.openai.chat.options.model=deepseek-chat 4 | spring.ai.openai.chat.options.temperature=0.7 5 | 6 | # The DeepSeek API doesn't support embeddings, so we need to disable it. 7 | spring.ai.openai.embedding.enabled=false -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab04/lab04.http: -------------------------------------------------------------------------------- 1 | ### GET request to example server 2 | GET https://examples.http-client.intellij.net/get 3 | ?generated-in=IntelliJ IDEA 4 | 5 | ### -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab04/src/main/java/cn/itbeien/ai/springai/VectorBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.ai.springai; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class VectorBoot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(VectorBoot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab04/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.username=postgres 2 | spring.datasource.password=${DB_PWD} 3 | spring.datasource.url=jdbc:postgresql://localhost/vector_store 4 | # 智谱开放平台 https://www.bigmodel.cn/usercenter/proj-mgmt/apikeys 5 | spring.ai.zhipuai.api-key=${ZHI_PU} 6 | spring.ai.zhipuai.base-url=https://open.bigmodel.cn/api/paas/ 7 | spring.ai.vectorstore.pgvector.index-type=hnsw 8 | #spring.ai.vectorstore.pgvector.initialize-schema=true -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab04/src/main/resources/db/rag-ddl.sql: -------------------------------------------------------------------------------- 1 | CREATE EXTENSION IF NOT EXISTS vector; 2 | CREATE EXTENSION IF NOT EXISTS hstore; 3 | CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; 4 | 5 | CREATE TABLE IF NOT EXISTS vector_store ( 6 | id uuid DEFAULT uuid_generate_v4() PRIMARY KEY, 7 | content text, 8 | metadata json, 9 | embedding vector(1024) 10 | ); 11 | 12 | CREATE INDEX ON vector_store USING HNSW (embedding vector_cosine_ops); -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab04/src/test/java/cn/itbeien/ai/springai/VectorBootTest.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.ai.springai; 2 | 3 | import org.springframework.boot.test.context.SpringBootTest; 4 | 5 | /** 6 | * @author itbeien 7 | * 项目网站:https://www.itbeien.cn 8 | * 公众号:贝恩聊架构 9 | * 全网同名,欢迎小伙伴们关注 10 | * Java/AI学习社群 11 | * Copyright© 2025 itbeien 12 | */ 13 | @SpringBootTest 14 | public class VectorBootTest { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab05/src/main/java/cn/itbeien/ai/springai/Lab05Boot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.ai.springai; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class Lab05Boot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(Lab05Boot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab05/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.ai.openai.api-key=${DEEPSEEK_KEY} 2 | spring.ai.openai.base-url=https://api.deepseek.com 3 | spring.ai.openai.chat.options.model=deepseek-chat 4 | spring.ai.openai.chat.options.temperature=0.7 5 | 6 | # The DeepSeek API doesn't support embeddings, so we need to disable it. 7 | spring.ai.openai.embedding.enabled=false -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab06/lab06.http: -------------------------------------------------------------------------------- 1 | ### 测试简单对话 2 | GET http://localhost:8080/ai/chat?prompt=你是谁 3 | 4 | ### 智能天气助手 5 | GET http://localhost:8080/ai/fcChat?prompt=帮我查询深圳今天的天气 -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab06/src/main/java/cn/itbeien/lab06/Lab06Boot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.lab06; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | /** 6 | * @author itbeien 7 | * 项目网站:https://www.itbeien.cn 8 | * 公众号:贝恩聊架构 9 | * 全网同名,欢迎小伙伴们关注 10 | * Java/AI学习社群 11 | * Copyright© 2025 itbeien 12 | */ 13 | @SpringBootApplication 14 | public class Lab06Boot { 15 | public static void main(String[] args) { 16 | SpringApplication.run(Lab06Boot.class, args); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab06/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.ai.openai.api-key=${DEEPSEEK_KEY} 2 | spring.ai.openai.base-url=https://api.deepseek.com 3 | spring.ai.openai.chat.options.model=deepseek-chat 4 | #spring.ai.openai.chat.options.model=deepseek-reasoner 5 | spring.ai.openai.chat.options.temperature=0.7 6 | 7 | # The DeepSeek API doesn't support embeddings, so we need to disable it. 8 | spring.ai.openai.embedding.enabled=false 9 | 10 | 11 | # 智谱开放平台 https://www.bigmodel.cn/usercenter/proj-mgmt/apikeys 12 | spring.ai.zhipuai.api-key=${ZHI_PU} 13 | spring.ai.zhipuai.base-url=https://open.bigmodel.cn/api/paas/ -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab07/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | cn.itbeien.ai 8 | spring-ai-labs 9 | 1.0-SNAPSHOT 10 | 11 | 12 | spring-ai-lab07 13 | pom 14 | 15 | spring-ai-mcp-server 16 | spring-ai-mcp-client 17 | 18 | 19 | -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab07/spring-ai-mcp-client/src/main/java/cn/itbeien/lab07/client/MCPClientBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.lab07.client; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI/支付系统/SAAS多租户基础技术平台学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class MCPClientBoot { 16 | 17 | public static void main(String[] args) { 18 | SpringApplication.run(MCPClientBoot.class,args); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab07/spring-ai-mcp-client/src/main/resources/mcp-servers-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "mcpServers": { 3 | "stdio-mcp-server": { 4 | "command": "java", 5 | "args": [ 6 | "-Dspring.ai.mcp.server.stdio=true", 7 | "-Dspring.main.web-application-type=none", 8 | "-jar", 9 | "E:\\gitee\\knowledge\\programmer-guide\\ai-labs-master\\spring-ai-labs\\spring-ai-lab07\\spring-ai-mcp-server\\target\\spring-ai-mcp-server-1.0-SNAPSHOT.jar" 10 | ], 11 | "env": {} 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab07/spring-ai-mcp-server/src/main/java/cn/itbeien/lab07/server/MCPServerBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.lab07.server; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI/支付系统/SAAS多租户基础技术平台学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class MCPServerBoot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(MCPServerBoot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab07/spring-ai-mcp-server/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | #server.port=9090 2 | spring.main.bannerMode=off 3 | logging.pattern.console= 4 | #spring.ai.mcp.server.stdio=true 5 | #spring.main.web-application-type=none -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab08/spring-ai-mcp-client-stdio/src/main/java/cn/itbeien/mcp/client/McpClientStdioBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.mcp.client; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI/支付系统/SAAS多租户基础技术平台学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class McpClientStdioBoot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(McpClientStdioBoot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab08/spring-ai-mcp-client-stdio/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 2 | spring.ai.mcp.client.enabled=true 3 | spring.ai.mcp.client.stdio.root-change-notification=false 4 | spring.ai.mcp.client.stdio.servers-configuration=classpath:/mcp-servers-config.json 5 | spring.ai.mcp.client.toolcallback.enabled=true 6 | 7 | spring.ai.openai.api-key=${DASHSCOPE_API_KEY} 8 | spring.ai.openai.base-url=https://dashscope.aliyuncs.com 9 | spring.ai.openai.chat.enabled=true 10 | spring.ai.openai.chat.options.model=qwen-plus 11 | spring.ai.openai.chat.completions-path=/compatible-mode/v1/chat/completions -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab08/spring-ai-mcp-client-stdio/src/main/resources/mcp-servers-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "mcpServers": { 3 | "stdio-mcp-server": { 4 | "command": "java", 5 | "args": [ 6 | "-Dspring.ai.mcp.server.stdio=true", 7 | "-Dspring.main.web-application-type=none", 8 | "-Dport=8080", 9 | "-jar", 10 | "E:\\gitee\\knowledge\\programmer-guide\\ai-labs-master\\spring-ai-labs\\spring-ai-lab08\\spring-ai-mcp-server-stdio\\target\\spring-ai-mcp-server-stdio-1.0-SNAPSHOT.jar" 11 | ], 12 | "env": {} 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab08/spring-ai-mcp-server-stdio/src/main/java/cn/ibeien/mcp/server/McpServerStdioBoot.java: -------------------------------------------------------------------------------- 1 | package cn.ibeien.mcp.server; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI/支付系统/SAAS多租户基础技术平台学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class McpServerStdioBoot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(McpServerStdioBoot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab08/spring-ai-mcp-server-stdio/src/main/java/cn/ibeien/mcp/server/service/McpService.java: -------------------------------------------------------------------------------- 1 | package cn.ibeien.mcp.server.service; 2 | 3 | import org.springframework.ai.tool.annotation.Tool; 4 | import org.springframework.ai.tool.annotation.ToolParam; 5 | import org.springframework.stereotype.Service; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * Java/AI/支付系统/SAAS多租户基础技术平台学习社群 13 | * Copyright© 2025 itbeien 14 | */ 15 | @Service 16 | public class McpService { 17 | 18 | @Tool(description = "获取城市的天气信息") 19 | public String getWeatherByCity(@ToolParam(required=true,description = "城市名称") String city) { 20 | return city +"天气信息:晴空万里,气温26.5°C"; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ai-labs-master/spring-ai-labs/spring-ai-lab08/spring-ai-mcp-server-stdio/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.ai.mcp.server.stdio=true 2 | spring.main.banner-mode=off 3 | spring.main.web-application-type=none 4 | logging.pattern.console= 5 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/readme.txt: -------------------------------------------------------------------------------- 1 | 动态数据源项目-目前只实现基于属性配置文件动态生成数据源 2 | 后续会实现基于数据库表生成动态数据源 -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/BeienSaasDbApplication.java: -------------------------------------------------------------------------------- 1 | package com.beien; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | @SpringBootApplication 8 | @MapperScan 9 | public class BeienSaasDbApplication { 10 | 11 | public static void main(String[] args) { 12 | SpringApplication.run(BeienSaasDbApplication.class, args); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/DynamicDataSource.java: -------------------------------------------------------------------------------- 1 | package com.beien; 2 | 3 | import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; 4 | 5 | 6 | /** 7 | * @author beien 8 | * @date 2023/3/13 15:23 9 | * Copyright© 2023 beien 10 | */ 11 | public class DynamicDataSource extends AbstractRoutingDataSource { 12 | @Override 13 | protected Object determineCurrentLookupKey() { 14 | // 此处暂时返回固定 master 数据源, 后面按动态策略修改 15 | // return DataSourceConstants.DS_KEY_MASTER; 16 | return DynamicDataSourceContextHolder.getContextKey(); 17 | 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/annotation/DS.java: -------------------------------------------------------------------------------- 1 | package com.beien.annotation; 2 | 3 | import com.beien.constants.DataSourceConstants; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | /** 11 | * @author beien 12 | * @date 2023/3/13 15:39 13 | * Copyright© 2023 beien 14 | */ 15 | @Target({ElementType.METHOD,ElementType.TYPE}) 16 | @Retention(RetentionPolicy.RUNTIME) 17 | public @interface DS { 18 | /** 19 | * 数据源名称 20 | */ 21 | String value() default DataSourceConstants.DS_KEY_MASTER; 22 | } 23 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/constants/DataSourceConstants.java: -------------------------------------------------------------------------------- 1 | package com.beien.constants; 2 | 3 | /** 4 | * @author beien 5 | * @date 2023/3/13 15:24 6 | * Copyright© 2023 beien 7 | */ 8 | public class DataSourceConstants { 9 | /** 10 | * 主库 11 | */ 12 | public static final String DS_KEY_MASTER="DS_KEY_MASTER"; 13 | /** 14 | * 从库 15 | */ 16 | public static final String DS_KEY_SLAVE="DS_KEY_SLAVE"; 17 | } 18 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/dao/DBDao.java: -------------------------------------------------------------------------------- 1 | package com.beien.dao; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | 5 | /** 6 | * @author beien 7 | * @date 2023/3/10 17:05 8 | * Copyright© 2023 beien 9 | * 10 | * 动态创建数据库表 11 | * 1.在基础库建一张表维护建表的SQL 12 | * 2.在dao层新建一个方法->mapper里面的动态建表方法 13 | * 3.在service层获取建表的SQL,然后再动态替换业务运营商(景区)编号 14 | */ 15 | public interface DBDao { 16 | public Integer executeCreateDB(String dbName); 17 | public void executeCreateTableSQL(String createSQL); 18 | 19 | public String selectCreateTable(String entityName); 20 | } 21 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/dao/UserInfoDao.java: -------------------------------------------------------------------------------- 1 | package com.beien.dao; 2 | 3 | 4 | 5 | import com.beien.entity.SysUserInfo; 6 | import com.beien.entity.UserInfo; 7 | import org.apache.ibatis.annotations.Param; 8 | 9 | import java.util.List; 10 | 11 | public interface UserInfoDao { 12 | public List findAll(); 13 | 14 | public ListfindAllSlave(); 15 | 16 | public void transferIn(@Param("money") double money,@Param("inName") String inName); 17 | 18 | public void transferOut(@Param("money") double money, @Param("outName") String outName); 19 | } 20 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/dao/saasdb/TenantConfigDao.java: -------------------------------------------------------------------------------- 1 | package com.beien.dao.saasdb; 2 | 3 | import com.beien.entity.DatabaseConfig; 4 | import com.beien.enums.DataSource; 5 | import com.beien.enums.DbReadWriteModel; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * @author Ben 12 | * @date 2020/3/25 9:38 13 | * @Company:Mopon 14 | * @Copyright:Copyright(c)2019 15 | */ 16 | @DataSource(DbReadWriteModel.READ_WRITE) 17 | public interface TenantConfigDao { 18 | 19 | public DatabaseConfig findDatabaseConfigByDatabaseId(@Param("id") Integer id); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/datasource/DataSourceContextHolder.java: -------------------------------------------------------------------------------- 1 | package com.beien.datasource; 2 | 3 | /** 4 | * @author Ben 5 | * @date 2020/1/6 10:07 6 | * @Company:Mopon 7 | * @Copyright:Copyright(c)2019 8 | */ 9 | public class DataSourceContextHolder { 10 | private static final ThreadLocal contextHolder = new ThreadLocal(); 11 | 12 | public static synchronized void setDBType(String dbType){ 13 | contextHolder.set(dbType); 14 | } 15 | 16 | public static String getDBType(){ 17 | return contextHolder.get(); 18 | } 19 | 20 | public static void clearDBType(){ 21 | contextHolder.remove(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/entity/Order.java: -------------------------------------------------------------------------------- 1 | package com.beien.entity; 2 | 3 | /** 4 | * @author beien 5 | * @date 2023/3/17 9:04 6 | * Copyright© 2023 beien 7 | */ 8 | public class Order { 9 | 10 | 11 | } 12 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/entity/UserInfo.java: -------------------------------------------------------------------------------- 1 | package com.beien.entity; 2 | 3 | public class UserInfo { 4 | private Integer id; 5 | private String userName; 6 | private Integer age; 7 | 8 | public Integer getId() { 9 | return id; 10 | } 11 | 12 | public void setId(Integer id) { 13 | this.id = id; 14 | } 15 | 16 | public String getUserName() { 17 | return userName; 18 | } 19 | 20 | public void setUserName(String userName) { 21 | this.userName = userName; 22 | } 23 | 24 | public Integer getAge() { 25 | return age; 26 | } 27 | 28 | public void setAge(Integer age) { 29 | this.age = age; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/enums/DataSource.java: -------------------------------------------------------------------------------- 1 | package com.beien.enums; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @author Ben 7 | * @date 2023/5/23 8:54 8 | * @Company:Mopon 9 | * @Copyright:Copyright(c)2019 10 | */ 11 | @Target({ ElementType.METHOD, ElementType.TYPE }) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Documented 14 | public @interface DataSource { 15 | DbReadWriteModel value(); 16 | } 17 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/enums/DbReadWriteModel.java: -------------------------------------------------------------------------------- 1 | package com.beien.enums; 2 | 3 | public enum DbReadWriteModel { 4 | 5 | READ, 6 | 7 | READ_WRITE; 8 | } 9 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/enums/ISysconfigKey.java: -------------------------------------------------------------------------------- 1 | package com.beien.enums; 2 | 3 | public interface ISysconfigKey { 4 | String getKey(); 5 | 6 | String getRemark(); 7 | } 8 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/exception/AbstractDtException.java: -------------------------------------------------------------------------------- 1 | package com.beien.exception; 2 | 3 | /** 4 | * 异常处理规范公用抽象类 5 | *

Description:

6 | * @date 2023年5月21日 7 | * @author itbeien.cn 8 | * @version 1.0 9 | *

Copyright:Copyright(c)2023

10 | */ 11 | public abstract class AbstractDtException extends Exception { 12 | 13 | public AbstractDtException(String string) { 14 | super(string); 15 | } 16 | 17 | /** 18 | * 19 | */ 20 | private static final long serialVersionUID = -369559404517534369L; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/exception/data/AbstractDtMonitorData.java: -------------------------------------------------------------------------------- 1 | package com.beien.exception.data; 2 | 3 | /** 4 | *

Description:

5 | * @date 2023年5月21日 6 | * @author itbeien 7 | * @version 1.0 8 | *

Company:Mopon

9 | *

Copyright:Copyright(c)2013

10 | */ 11 | public abstract class AbstractDtMonitorData { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/exception/warnig/DtWarnTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.beien.exception.warnig; 2 | 3 | public enum DtWarnTypeEnum implements IDtWarnType { 4 | 5 | 6 | SYSTEM("system"), 7 | 8 | BUSSNISS("bussniss"); 9 | 10 | private String name; 11 | 12 | DtWarnTypeEnum(String name) { 13 | this.name = name; 14 | } 15 | 16 | public String getName() { 17 | return name; 18 | } 19 | 20 | /** 21 | * 获取预警的类别 22 | * @return 23 | */ 24 | @Override 25 | public String getWarnTypeName(){ 26 | return this.name; 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/exception/warnig/IDtWarnType.java: -------------------------------------------------------------------------------- 1 | package com.beien.exception.warnig;//package com.mopon.root.component.constant; 2 | 3 | /** 4 | *

Description:

5 | * 6 | * @author 贺锟 7 | * @version 1.0 8 | *

Company:Mopon

9 | *

Copyright:Copyright(c)2017

10 | * @date 2017/10/24 11 | */ 12 | public interface IDtWarnType { 13 | 14 | /** 15 | * 获取预警的类别 16 | * 17 | * @return 18 | */ 19 | String getWarnTypeName(); 20 | } 21 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/exception/warnig/IWarnBussinessTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.beien.exception.warnig; 2 | 3 | /** 4 | * 业务类型 5 | *

Description:

6 | * 7 | * @author 王方威 8 | * @version 1.0 9 | *

Company:Mopon

10 | *

Copyright:Copyright(c)2013

11 | * @date 2016年4月9日 12 | */ 13 | public interface IWarnBussinessTypeEnum { 14 | 15 | 16 | String getCode(); 17 | 18 | String getName(); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/exception/warnig/IWarnSystemEnum.java: -------------------------------------------------------------------------------- 1 | package com.beien.exception.warnig; 2 | 3 | public interface IWarnSystemEnum { 4 | 5 | String getCode(); 6 | 7 | String getName(); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/exception/warnig/module/IDtProductProject.java: -------------------------------------------------------------------------------- 1 | package com.beien.exception.warnig.module; 2 | 3 | /** 4 | * 定义各个产品线的项目组编码枚举接口类(公司.产品线.项目组.自定义) 5 | *

Description:

6 | * @author itbeien 7 | * @version 1.0 8 | *

Copyright:Copyright(c)2023

9 | * @date 2023年5月22日 10 | */ 11 | public interface IDtProductProject { 12 | 13 | /** 14 | * 获取产品线的项目内部编码 15 | * 方法用途:
16 | * 实现步骤:
17 | * 18 | * @return 19 | */ 20 | String getDtProductProjectCode(); 21 | 22 | /** 23 | * 获取产品线项目的内部名称 24 | * 方法用途:
25 | * 实现步骤:
26 | * 27 | * @return 28 | */ 29 | String getDtProductProjectName(); 30 | } 31 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/mutiltransaction/EnableMutilTranactionManagement.java: -------------------------------------------------------------------------------- 1 | package com.beien.mutiltransaction; 2 | 3 | import org.springframework.context.annotation.Import; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | /** 11 | * @author beien 12 | * @date 2023/3/14 16:25 13 | * Copyright© 2023 beien 14 | */ 15 | @Target(ElementType.TYPE) 16 | @Retention(RetentionPolicy.RUNTIME) 17 | @Import(MutilDSProcessor.class) 18 | public @interface EnableMutilTranactionManagement { 19 | } 20 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/mutiltransaction/IngnoreMethod.java: -------------------------------------------------------------------------------- 1 | package com.beien.mutiltransaction; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * @author beien 10 | * @date 2023/3/14 16:49 11 | * Copyright© 2023 beien 12 | */ 13 | @Retention(RetentionPolicy.RUNTIME) 14 | @Target({ElementType.TYPE,ElementType.METHOD}) 15 | public @interface IngnoreMethod { 16 | } 17 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/mutiltransaction/IsolationLevel.java: -------------------------------------------------------------------------------- 1 | package com.beien.mutiltransaction; 2 | 3 | /** 4 | * @author beien 5 | * @date 2023/3/14 16:37 6 | * Copyright© 2023 beien 7 | */ 8 | public enum IsolationLevel { 9 | 10 | TRANSACTION_NONE(0), 11 | TRANSACTION_DEFAULT(-1), 12 | TRANSACTION_READ_UNCOMMITTED(1), 13 | TRANSACTION_READ_COMMITTED(2), 14 | TRANSACTION_REPEATABLE_READ(4), 15 | TRANSACTION_SERIALIZABLE(8); 16 | 17 | private int level; 18 | 19 | IsolationLevel(int level){ 20 | this.level=level; 21 | } 22 | 23 | public int getLevel(){ 24 | return this.level; 25 | } 26 | 27 | 28 | } 29 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/service/IDBService.java: -------------------------------------------------------------------------------- 1 | package com.beien.service; 2 | 3 | /** 4 | * @author beien 5 | * @date 2023/3/17 8:55 6 | * Copyright© 2023 beien 7 | */ 8 | public interface IDBService { 9 | public String executeCreateTableSQL(); 10 | } 11 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/service/ISaasModuleService.java: -------------------------------------------------------------------------------- 1 | package com.beien.service; 2 | 3 | 4 | import com.beien.entity.DatabaseConfig; 5 | import com.beien.exception.DtComponentException; 6 | 7 | import java.util.List; 8 | import java.util.Map; 9 | 10 | public interface ISaasModuleService { 11 | /*public Map> loadTenantConfig(String tenantCode);*/ 12 | 13 | public DatabaseConfig loadDatabaseConfig(Integer databaseId); 14 | 15 | /* public Map> loadTenantDataSource(); 16 | 17 | public String getTenantByBussinessObjCode(String bussinessObjCode); 18 | 19 | public Integer getMasterDBByTenantCode(String tenantCode) throws DtComponentException;*/ 20 | } 21 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/service/ITestService.java: -------------------------------------------------------------------------------- 1 | package com.beien.service; 2 | 3 | import com.beien.entity.SysUserInfo; 4 | import com.beien.entity.UserInfo; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * @author beien 10 | * @date 2023/3/14 9:09 11 | * Copyright© 2023 beien 12 | */ 13 | public interface ITestService { 14 | public List query(); 15 | public List querySlave(); 16 | 17 | public void transIn()throws Exception; 18 | public void transOut()throws Exception; 19 | 20 | public void tran()throws Exception; 21 | } 22 | -------------------------------------------------------------------------------- /bilibili/beien-saas-db/src/main/java/com/beien/service/IUserService.java: -------------------------------------------------------------------------------- 1 | package com.beien.service.impl; 2 | 3 | 4 | import com.beien.entity.UserInfo; 5 | 6 | public interface IUserService { 7 | public UserInfo findUserAll(); 8 | public void transIn()throws Exception; 9 | } 10 | -------------------------------------------------------------------------------- /bilibili/beien-springboot-dbdoc-util/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /bilibili/beien-springboot-dbdoc-util/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/bilibili/beien-springboot-dbdoc-util/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /bilibili/beien-springboot-dbdoc-util/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /bilibili/beien-springboot-dbdoc-util/readme.txt: -------------------------------------------------------------------------------- 1 | 关注公众号 贝恩聊架构 ,一起学习一起进步, 2 | 后续还有项目实战和源码分析在公众号分享(⊙o⊙)哦 3 | 4 | beien-springboot-dbdoc-util 5 | 数据库文档生成工具视频对应代码入口:test目录下BeienDocumentGeneration 6 | 7 | -------------------------------------------------------------------------------- /bilibili/beien-springboot-dbdoc-util/src/main/java/com/beien/beienspringbootdbdoc/BeienSpringbootDbdocApplication.java: -------------------------------------------------------------------------------- 1 | package com.beien.beienspringbootdbdoc; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class BeienSpringbootDbdocApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(BeienSpringbootDbdocApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /bilibili/beien-springboot-rocketmq/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /bilibili/beien-springboot-rocketmq/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/bilibili/beien-springboot-rocketmq/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /bilibili/beien-springboot-rocketmq/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /bilibili/beien-springboot-rocketmq/README.md: -------------------------------------------------------------------------------- 1 | # 工程简介 2 | 3 | # 延伸阅读 4 | 5 | -------------------------------------------------------------------------------- /bilibili/beien-springboot-rocketmq/readme: -------------------------------------------------------------------------------- 1 | 微服务网关 2 | 限流,鉴权 3 | 用户->订单服务 4 | 用户-》网关-》注册中心(eureka) 5 | ->订单服务->限时订单 -------------------------------------------------------------------------------- /bilibili/beien-springboot-rocketmq/sql/order.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/bilibili/beien-springboot-rocketmq/sql/order.sql -------------------------------------------------------------------------------- /bilibili/beien-springboot-rocketmq/sql/pay.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/bilibili/beien-springboot-rocketmq/sql/pay.sql -------------------------------------------------------------------------------- /bilibili/beien-springboot-rocketmq/src/main/java/com/beien/OrderMsg.java: -------------------------------------------------------------------------------- 1 | package com.beien; 2 | 3 | /** 4 | * @author beien 5 | * @date 2023/3/5 16:20 6 | * Copyright© 2023 beien 7 | */ 8 | //发送的取消订单信息 9 | public class OrderMsg { 10 | //用户id 11 | private int userId; 12 | public int getUserId() { 13 | return this.userId; 14 | } 15 | public void setUserId(int userId) { 16 | this.userId = userId; 17 | } 18 | 19 | //订单sn 20 | private String orderId; 21 | public String getOrderId() { 22 | return this.orderId; 23 | } 24 | public void setOrderId(String orderId) { 25 | this.orderId = orderId; 26 | } 27 | 28 | } 29 | 30 | 31 | -------------------------------------------------------------------------------- /bilibili/beien-springboot-rocketmq/src/main/java/com/beien/service/RocketMQConsumerListener.java: -------------------------------------------------------------------------------- 1 | package com.beien.service; 2 | 3 | import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; 4 | import org.apache.rocketmq.spring.core.RocketMQListener; 5 | import org.springframework.stereotype.Service; 6 | 7 | @Service 8 | @RocketMQMessageListener(consumerGroup = "beien-rocketmq-test",topic = "beien-rocketmq-test") 9 | public class RocketMQConsumerListener implements RocketMQListener { 10 | /** 11 | * 生成者发送的消息 message 12 | * @param message 13 | */ 14 | @Override 15 | public void onMessage(String message) { 16 | //代码演示 构造方法 具体开发采用服务+监听器方式开发业务功能 17 | System.out.println("消费消息:"+message); 18 | } 19 | } -------------------------------------------------------------------------------- /bilibili/beien-springboot-rocketmq/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # 应用名称 2 | spring.application.name=beien-springboot-rocketmq 3 | # 应用服务 WEB 访问端口 4 | server.port=8080 5 | 6 | rocketmq.name-server=127.0.0.1:9876 7 | rocketmq.producer.group=beien-rocketmq-test 8 | rocketmq.producer.send-message-timeout=3000 9 | rocketmq.producer.compress-message-body-threshold=4096 10 | rocketmq.producer.max-message-size=4194304 11 | rocketmq.producer.retry-times-when-send-failed=3 12 | rocketmq.producer.retry-next-server=true 13 | rocketmq.producer.retry-times-when-send-async-failed=3 14 | 15 | 16 | -------------------------------------------------------------------------------- /bilibili/beien-springboot-rocketmq/src/test/java/com/beien/BeienSpringbootRocketmqApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.beien; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class BeienSpringbootRocketmqApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /bilibili/beien-springsession-redis/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /bilibili/beien-springsession-redis/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/bilibili/beien-springsession-redis/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /bilibili/beien-springsession-redis/src/main/docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/bilibili/beien-springsession-redis/src/main/docker/Dockerfile -------------------------------------------------------------------------------- /bilibili/beien-springsession-redis/src/main/java/com/beien/BeienSpringsessionRedisApplication.java: -------------------------------------------------------------------------------- 1 | package com.beien; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; 6 | 7 | @SpringBootApplication 8 | @EnableRedisHttpSession //开启使用Redis作为Session 9 | public class BeienSpringsessionRedisApplication { 10 | 11 | public static void main(String[] args) { 12 | SpringApplication.run(BeienSpringsessionRedisApplication.class, args); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /bilibili/beien-springsession-redis/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=5051 2 | #Redis配置 3 | spring.redis.host=127.0.0.1 4 | ## Redis服务器连接端口 5 | spring.redis.port=6379 6 | # 连接超时时间(毫秒) 7 | spring.redis.timeout=1000 8 | ## Redis服务器连接密码(默认为空) 9 | spring.redis.password=123456 10 | # 连接池中的最大连接数 11 | spring.redis.poolMaxTotal=10 12 | # 连接池中的最大空闲连接 13 | spring.redis.poolMaxIdle=10 14 | # 连接池最大阻塞等待时间(使用负值表示没有限制) 15 | spring.redis.poolMaxWait=3 16 | -------------------------------------------------------------------------------- /bilibili/beien-springsession-redis/src/test/java/com/beien/BeienSpringsessionRedisApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.beien; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class BeienSpringsessionRedisApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/bilibili/beien_springboot_util_01/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/readme.txt: -------------------------------------------------------------------------------- 1 | 关注公众号 贝恩聊架构 ,一起学习一起进步, 2 | 后续还有项目实战和源码分析在公众号分享(⊙o⊙)哦 3 | 加微信 B4707802769 加入免费项目社群 4 | 5 | 视频对应代码 6 | 幂等性视频对应代码入口:ApiPower 7 | 接口限流视频对应代码入口:ApiLimitApplication 8 | 接口返回数据脱敏视频对应代码入口:SensitiveApplication 9 | 新增Springboot+自定义注解+拦截器+redis代码,代码入口为:AccessLimitController 10 | 新增Google Guava令牌桶限流,代码入口为:LimitController 11 | 分布式事务视频下次更新,敬请期待!!! -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/src/main/java/com/beien/TccApplication.java: -------------------------------------------------------------------------------- 1 | package com.beien; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.web.bind.annotation.RestController; 7 | 8 | /** 9 | *TCC模式不依赖于底层数据资源的事务支持(需要编写代码实现提交和回滚) 10 | *一阶段 prepare行为:调用自定义的prepare逻辑 11 | *二阶段commit行为:调用自定义的commit逻辑 12 | *三阶段rollback行为:调用自定义的 rollback逻辑 13 | */ 14 | @MapperScan 15 | @SpringBootApplication 16 | @RestController 17 | public class TccApplication { 18 | public static void main(String[]args){ 19 | SpringApplication.run(TccApplication.class,args); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/src/main/java/com/beien/annotation/AccessLimit.java: -------------------------------------------------------------------------------- 1 | package com.beien.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @author beien 7 | * @date 2023-05-19 19:29 8 | * Copyright© 2023 beien 9 | */ 10 | @Documented 11 | @Inherited 12 | @Target({ElementType.FIELD, ElementType.TYPE, ElementType.METHOD}) 13 | @Retention(RetentionPolicy.RUNTIME) 14 | public @interface AccessLimit { 15 | //标识 指定time时间段内的访问次数限制 16 | int limit() default 5; 17 | 18 | //标识 时间段 19 | int time() default 5; 20 | } 21 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/src/main/java/com/beien/annotation/Limit.java: -------------------------------------------------------------------------------- 1 | package com.beien.annotation; 2 | 3 | import com.beien.enums.LimitType; 4 | 5 | import java.lang.annotation.*; 6 | 7 | /** 8 | * 限流注解 9 | * @author beien 10 | */ 11 | @Target(ElementType.METHOD) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Documented 14 | public @interface Limit { 15 | /** 16 | * 限流key前缀 17 | */ 18 | String prefix() default "limit:"; 19 | /** 20 | * 限流时间,单位秒 21 | */ 22 | int time() default 60; 23 | /** 24 | * 限流次数 25 | */ 26 | int count() default 10; 27 | /** 28 | * 限流类型 29 | */ 30 | LimitType type() default LimitType.DEFAULT; 31 | } 32 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/src/main/java/com/beien/controller/RequestHeader.java: -------------------------------------------------------------------------------- 1 | package com.beien.controller; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | @Data 7 | @Builder 8 | public class RequestHeader { 9 | private String sign ; 10 | private Long timestamp ; 11 | private String nonce; 12 | } 13 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/src/main/java/com/beien/dao/UserDao.java: -------------------------------------------------------------------------------- 1 | package com.beien.dao; 2 | 3 | import com.beien.pojo.UserInfo; 4 | import org.apache.ibatis.annotations.Mapper; 5 | 6 | import java.util.List; 7 | 8 | //@Mapper 9 | public interface UserDao { 10 | public List selectAll(); 11 | } 12 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/src/main/java/com/beien/enums/LimitType.java: -------------------------------------------------------------------------------- 1 | package com.beien.enums; 2 | 3 | 4 | /** 5 | * 限流类型 6 | * @author beien 7 | */ 8 | public enum LimitType { 9 | /** 10 | * 默认策略全局限流 11 | */ 12 | DEFAULT, 13 | /** 14 | * 根据请求者IP进行限流 15 | */ 16 | IP 17 | } 18 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/src/main/java/com/beien/exception/CustomerException.java: -------------------------------------------------------------------------------- 1 | package com.beien.exception; 2 | 3 | public class CustomerException extends RuntimeException{ 4 | // 空参构造方法 5 | public CustomerException() { 6 | } 7 | //带异常信息的构造方法 8 | /* 9 | 查看源码发现,所有的异常类都会有一个带异常信息的构造方法, 10 | 方法内部会调用父类带异常信息的构造方法,让父类来处理这个异常信息 11 | */ 12 | public CustomerException(String message){ 13 | super(message); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/src/main/java/com/beien/service/IBeienTokenService.java: -------------------------------------------------------------------------------- 1 | package com.beien.service; 2 | 3 | public interface IBeienTokenService { 4 | public String createToken(String userId); 5 | public Boolean validateToken(String token, String userId); 6 | } 7 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/src/main/java/com/beien/service/IUserService.java: -------------------------------------------------------------------------------- 1 | package com.beien.service; 2 | 3 | import com.beien.pojo.UserInfo; 4 | 5 | import java.util.List; 6 | 7 | public interface IUserService { 8 | public List findUser(); 9 | } 10 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/src/main/java/com/beien/service/impl/UserService.java: -------------------------------------------------------------------------------- 1 | package com.beien.service.impl; 2 | 3 | import com.beien.dao.UserDao; 4 | import com.beien.pojo.UserInfo; 5 | import com.beien.service.IUserService; 6 | import org.springframework.stereotype.Service; 7 | import org.springframework.transaction.annotation.Transactional; 8 | 9 | import javax.annotation.Resource; 10 | import java.util.List; 11 | 12 | @Service 13 | public class UserService implements IUserService { 14 | @Resource 15 | private UserDao userDao; 16 | 17 | @Transactional 18 | @Override 19 | public List findUser() { 20 | return userDao.selectAll(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/src/main/java/com/beien/util/DesensitizedUtil.java: -------------------------------------------------------------------------------- 1 | package com.beien.util; 2 | 3 | public class DesensitizedUtil { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/src/main/java/com/beien/util/HttpRequestUtil.java: -------------------------------------------------------------------------------- 1 | package com.beien.util; 2 | 3 | import org.springframework.web.context.request.RequestContextHolder; 4 | import org.springframework.web.context.request.ServletRequestAttributes; 5 | 6 | import javax.servlet.http.HttpServletRequest; 7 | 8 | public class HttpRequestUtil { 9 | public static HttpServletRequest getRequest(){ 10 | HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); 11 | return request; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/src/main/java/com/beien/view/Message.java: -------------------------------------------------------------------------------- 1 | package com.beien.view; 2 | 3 | /** 4 | * @author beien 5 | * @date 2023-05-17 9:08 6 | * Copyright© 2023 beien 7 | */ 8 | public class Message { 9 | private String message; 10 | private Integer code; 11 | 12 | public String getMessage() { 13 | return message; 14 | } 15 | 16 | public void setMessage(String message) { 17 | this.message = message; 18 | } 19 | 20 | public Integer getCode() { 21 | return code; 22 | } 23 | 24 | public void setCode(Integer code) { 25 | this.code = code; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/src/test/java/com/beien/BeienApi.java: -------------------------------------------------------------------------------- 1 | package com.beien; 2 | 3 | 4 | /** 5 | * 接口安全设计一般的做法有2种: 6 | * 1.采用https方式把接口的数据进行加密传输,即便是被黑客破解, 7 | * 黑客也花费大量的时间和精力去破解 8 | * 2.接口后台对接口的请求参数进行验证,防止被黑客篡改 9 | * 一般来说,暴露在外网的api接口需要做到防篡改和防重放才能称之为安全的接口 10 | * 防重放,防篡改 11 | */ 12 | public class BeienApi { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /bilibili/beien_springboot_util_01/src/test/java/com/beien/SpringbootbeienApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.beien; 2 | 3 | import com.beien.pojo.UserInfo; 4 | import com.beien.service.IUserService; 5 | import org.junit.jupiter.api.Test; 6 | import org.springframework.boot.test.context.SpringBootTest; 7 | 8 | import javax.annotation.Resource; 9 | import java.util.List; 10 | 11 | @SpringBootTest 12 | class SpringbootbeienApplicationTests { 13 | @Resource 14 | public IUserService userService; 15 | @Test 16 | void contextLoads() { 17 | List user = userService.findUser(); 18 | System.out.println(user.size()); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /bilibili/beien_transaction_01/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /bilibili/beien_transaction_01/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/bilibili/beien_transaction_01/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /bilibili/beien_transaction_01/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /bilibili/beien_transaction_01/readme.txt: -------------------------------------------------------------------------------- 1 | 关注公众号 贝恩聊架构 ,一起学习一起进步, 2 | 后续还有项目实战和源码分析在公众号分享(⊙o⊙)哦 3 | 4 | Spring事务失效的8种场景视频对应代码入口:测试目录下TransactionFailure.java -------------------------------------------------------------------------------- /bilibili/beien_transaction_01/src/main/java/com/beien/TransactionBeienApplication.java: -------------------------------------------------------------------------------- 1 | package com.beien; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class TransactionBeienApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(TransactionBeienApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /bilibili/beien_transaction_01/src/main/java/com/beien/dao/UserDao.java: -------------------------------------------------------------------------------- 1 | package com.beien.dao; 2 | 3 | import com.beien.entity.UserInfo; 4 | import org.apache.ibatis.annotations.Param; 5 | 6 | import java.util.List; 7 | 8 | public interface UserDao { 9 | public List selectAll(); 10 | //转入 11 | public void transferIn(@Param("inName") String inName, @Param("money")double money); 12 | 13 | //转出 14 | public void transferOut(@Param("outName")String outName, @Param("money")double money); 15 | } 16 | -------------------------------------------------------------------------------- /bilibili/beien_transaction_01/src/main/java/com/beien/entity/UserInfo.java: -------------------------------------------------------------------------------- 1 | package com.beien.entity; 2 | 3 | public class UserInfo { 4 | private Integer id; 5 | private String userName; 6 | private Integer age; 7 | 8 | public Integer getId() { 9 | return id; 10 | } 11 | 12 | public void setId(Integer id) { 13 | this.id = id; 14 | } 15 | 16 | public String getUserName() { 17 | return userName; 18 | } 19 | 20 | public void setUserName(String userName) { 21 | this.userName = userName; 22 | } 23 | 24 | public Integer getAge() { 25 | return age; 26 | } 27 | 28 | public void setAge(Integer age) { 29 | this.age = age; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /bilibili/beien_transaction_01/src/main/java/com/beien/service/IUserService.java: -------------------------------------------------------------------------------- 1 | package com.beien.service; 2 | 3 | public interface IUserService { 4 | //转账 5 | public void transfer(String inName, String outName, double money) throws Exception; 6 | public void transfer1(String inName, String outName, double money) throws Exception; 7 | } 8 | -------------------------------------------------------------------------------- /bilibili/itbeien-springboot-admin-new/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9550 2 | spring.application.name=springboot-admin-server 3 | #配置一个账号和密码 4 | spring.security.user.name=admin 5 | spring.security.user.password=itbeien.cn -------------------------------------------------------------------------------- /bilibili/saas-cloud-ticket/readme.md: -------------------------------------------------------------------------------- 1 | netty socket 服务器 包含客户端及服务端 2 | 3 | **加微信 B4707802769 加入免费项目社群** -------------------------------------------------------------------------------- /bilibili/saas-cloud-ticket/ticket-gateway-client/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | com.beien 8 | saas-cloud-ticket 9 | 1.0-SNAPSHOT 10 | 11 | 12 | ticket-gateway-client 13 | -------------------------------------------------------------------------------- /bilibili/saas-cloud-ticket/ticket-gateway-client/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | netty.port:8600 2 | netty.url:127.0.0.1 -------------------------------------------------------------------------------- /bilibili/saas-cloud-ticket/ticket-gateway/src/main/java/com/beien/service/IMqProductService.java: -------------------------------------------------------------------------------- 1 | package com.beien.service; 2 | 3 | /** 4 | * @author beien 5 | * @date 2023/3/11 9:35 6 | * Copyright© 2023 beien 7 | * 入园消息生产者服务类 8 | */ 9 | public interface IMqProductService { 10 | public void createMsg(String msg); 11 | } 12 | -------------------------------------------------------------------------------- /bilibili/saas-cloud-ticket/ticket-gateway/src/main/java/com/beien/service/ITicketConsumerService.java: -------------------------------------------------------------------------------- 1 | package com.beien.service; 2 | 3 | /** 4 | * @author beien 5 | * @date 2023/3/11 11:01 6 | * Copyright© 2023 beien 7 | */ 8 | public interface ITicketConsumerService { 9 | public String callTicketService(); 10 | } 11 | -------------------------------------------------------------------------------- /bilibili/saas-cloud-ticket/ticket-gateway/src/main/java/com/beien/service/TicketServiceFallback.java: -------------------------------------------------------------------------------- 1 | package com.beien.service; 2 | 3 | import com.beien.service.TicketFeign; 4 | import org.springframework.web.bind.annotation.RequestParam; 5 | 6 | /** 7 | * @author beien 8 | * @date 2023/3/13 11:11 9 | * Copyright© 2023 beien 10 | */ 11 | /*class TicketServiceFallback implements TicketFeign { 12 | @Override 13 | public String orderFromClient(@RequestParam(value = "name") String name) { 14 | return "echo fallback"; 15 | } 16 | }*/ 17 | -------------------------------------------------------------------------------- /bilibili/saas-cloud-ticket/ticket-gateway/src/main/resources/bootstrap.properties: -------------------------------------------------------------------------------- 1 | #spring.application.name=ticket-gateway 2 | #???nacos?http?? 3 | server.port=7777 4 | #spring.cloud.nacos.config.server-addr=139.9.46.7:8848 5 | #spring.cloud.nacos.discovery.server-addr=139.9.46.7:8848 6 | #spring.application.name=ticket-server 7 | #spring.application.url=http://localhost:5555 8 | spring.cloud.nacos.config.server-addr=127.0.0.1:8848 9 | spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 10 | #management.endpoints.web.exposure.include=* 11 | 12 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/README.md: -------------------------------------------------------------------------------- 1 | **一个涵盖Spring Cloud Alibaba微服务解决方案所有技术栈的仓库。包含SpringCloud,SpringBoot2.x,Nacos,Dubbo,分布式限流,分布式事务,SMS,RocketMQ公8大模块。希望朋友小手一抖,右上角来个 Star** 2 | 3 | 4 | 5 | 作为一个热爱深夜持续输出代码、文档、视频的源码爱好者,希望大佬能够**一键三连**。 6 | 7 | ![一键三连](https://github.com/starqidian/itbeien-springcloudalibaba-master/assets/119275470/d750ffd3-7da9-43c4-bc1b-30de5a2ec99f) 8 | 9 | **交流群** 10 | 11 | 可以添加 我为好友,加入我的知识星球跟着我一起学习,也可以关注视频号和公众号。 12 | 13 | ![关于我_01](https://github.com/starqidian/itbeien-springcloudalibaba-master/assets/119275470/f35ea083-edfa-431e-8b0c-9cf969b20890) 14 | 15 | 16 | ## 仓库 17 | 18 | - https://gitee.com/itbeien/programmer-guide 19 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/img/一键三连.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/itbeien-springcloudalibaba-master/img/一键三连.png -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/img/关于我.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/itbeien-springcloudalibaba-master/img/关于我.png -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springboot-job/springboot-quartz/src/main/java/cn/itbeien/Application.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author beien 8 | * @date 2023-10-29 18:02 9 | * Copyright© 2023 beien 10 | */ 11 | @SpringBootApplication 12 | public class Application { 13 | public static void main(String[] args) { 14 | SpringApplication.run(Application.class,args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springboot-job/springboot-quartz/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.filters=stat,wall 2 | spring.datasource.max-active=12 3 | 4 | spring.datasource.type=com.alibaba.druid.pool.DruidDataSource 5 | spring.datasource.username=root 6 | spring.datasource.password=Rootpwd20241127 7 | spring.datasource.url=jdbc:mysql://localhost:3306/quartz?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false 8 | spring.datasource.driver-class-name=com.mysql.jdbc.Driver -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab01/src/main/java/cn/itbeien/Lab01Application.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author beien 8 | * @date 2024-04-12 22:03 9 | * Copyright© 2024 beien 10 | * springcloud和springcloudalibaba最新版本---基于jdk1.8 11 | * 实现和nacos配置中心整合 12 | */ 13 | @SpringBootApplication 14 | public class Lab01Application { 15 | public static void main(String[] args) { 16 | SpringApplication.run(Lab01Application.class,args); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab01/src/main/java/cn/itbeien/config/NacosConfig.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.config; 2 | 3 | import lombok.Data; 4 | import org.springframework.beans.factory.annotation.Value; 5 | import org.springframework.cloud.context.config.annotation.RefreshScope; 6 | import org.springframework.stereotype.Component; 7 | 8 | /** 9 | * @author beien 10 | * @date 2024-04-12 23:35 11 | * Copyright© 2024 beien 12 | */ 13 | @Data 14 | @Component 15 | @RefreshScope 16 | public class NacosConfig { 17 | @Value("${system.key}") 18 | private String key; 19 | } 20 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab01/src/main/java/cn/itbeien/controller/NacosController.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.controller; 2 | 3 | import cn.itbeien.config.NacosConfig; 4 | import org.springframework.beans.factory.annotation.Autowired; 5 | import org.springframework.web.bind.annotation.GetMapping; 6 | import org.springframework.web.bind.annotation.RestController; 7 | 8 | /** 9 | * @author beien 10 | * @date 2024-04-12 23:47 11 | * Copyright© 2024 beien 12 | */ 13 | @RestController 14 | public class NacosController { 15 | @Autowired 16 | private NacosConfig nacosConfig; 17 | @GetMapping("config") 18 | private String config(){ 19 | return nacosConfig.getKey(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab01/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # 采用spring.config.import 方式引入配置文件 新版本不需要使用 bootstrap.yml 2 | spring.cloud.nacos.config.server-addr=127.0.0.1:3333 3 | spring.cloud.nacos.config.namespace=772c8d40-00a8-47dd-8eeb-dfe19fb76aa8 4 | spring.cloud.nacos.config.username=nacos 5 | spring.cloud.nacos.config.password=nacos 6 | #spring.config.import方式导入配置项 升级到 2021.0.1.0及以上的版本配置方式 7 | spring.config.import[0]=optional:nacos:system.properties?group=system -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab02/src/main/java/cn/itbeien/Lab02Application.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author beien 8 | * @date 2024-04-13 8:32 9 | * Copyright© 2024 beien 10 | */ 11 | @SpringBootApplication 12 | public class Lab02Application { 13 | public static void main(String[] args) { 14 | SpringApplication.run(Lab02Application.class,args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab02/src/main/java/cn/itbeien/config/NacosConfig.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.config; 2 | 3 | import lombok.Data; 4 | import org.springframework.beans.factory.annotation.Value; 5 | import org.springframework.cloud.context.config.annotation.RefreshScope; 6 | import org.springframework.stereotype.Component; 7 | 8 | /** 9 | * @author beien 10 | * @date 2024-04-13 8:35 11 | * Copyright© 2024 beien 12 | */ 13 | @Data 14 | @Component 15 | @RefreshScope //自动刷新 16 | public class NacosConfig { 17 | 18 | @Value("${system.key}") 19 | private String key; 20 | @Value("${spring.datasource.url}") 21 | private String url; 22 | } 23 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab02/src/main/resources/application-dev.properties: -------------------------------------------------------------------------------- 1 | spring.cloud.nacos.config.server-addr=127.0.0.1:3333 2 | spring.cloud.nacos.config.namespace=772c8d40-00a8-47dd-8eeb-dfe19fb76aa8 3 | spring.cloud.nacos.config.username=nacos 4 | spring.cloud.nacos.config.password=nacos 5 | #spring.config.import方式导入配置项 6 | spring.config.import[0]=optional:nacos:datasourcemaster-dev.properties?group=datasource 7 | spring.config.import[1]=optional:nacos:system-dev.properties?group=system -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab02/src/main/resources/application-product.properties: -------------------------------------------------------------------------------- 1 | spring.cloud.nacos.config.server-addr=127.0.0.1:3333 2 | spring.cloud.nacos.config.namespace=772c8d40-00a8-47dd-8eeb-dfe19fb76aa8 3 | spring.cloud.nacos.config.username=nacos 4 | spring.cloud.nacos.config.password=nacos 5 | #spring.config.import方式导入配置项 6 | spring.config.import[0]=optional:nacos:datasourcemaster-product.properties?group=datasource 7 | spring.config.import[1]=optional:nacos:system-product.properties?group=system -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab02/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # 采用spring.config.import 方式引入配置文件 新版本不需要使用 bootstrap.yml 2 | spring.profiles.active=product 3 | #spring.profiles.active=test 4 | #spring.profiles.active=dev -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab03/src/main/java/cn/itbeien/service/CardFeignService.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.service; 2 | 3 | import com.alibaba.fastjson.JSONObject; 4 | import org.springframework.cloud.openfeign.FeignClient; 5 | import org.springframework.web.bind.annotation.PostMapping; 6 | 7 | /** 8 | * @author beien 9 | * @date 2024-04-14 8:54 10 | * Copyright© 2024 beien 11 | */ 12 | @FeignClient(name = "card-service") 13 | public interface CardFeignService { 14 | @PostMapping(value = "/api/voucher-pay") 15 | String callVoucherPay(JSONObject data); 16 | } 17 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab03/src/main/resources/application-product.properties: -------------------------------------------------------------------------------- 1 | spring.cloud.nacos.config.server-addr=127.0.0.1:3333 2 | spring.cloud.nacos.config.namespace=772c8d40-00a8-47dd-8eeb-dfe19fb76aa8 3 | spring.cloud.nacos.config.username=nacos 4 | spring.cloud.nacos.config.password=nacos 5 | #spring.config.import方式导入配置项 6 | spring.config.import[0]=optional:nacos:datasourcemaster-product.properties?group=datasource 7 | spring.config.import[1]=optional:nacos:system-product.properties?group=system -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab03/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # 采用spring.config.import 方式引入配置文件 新版本不需要使用 bootstrap.yml 2 | spring.profiles.active=dev 3 | # 用于注册的名称 聚合支付服务 4 | spring.application.name=union-pay 5 | #spring.profiles.active=test 6 | #spring.profiles.active=dev -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab04/img/服务消费(聚合支付系统调用卡系统).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab04/img/服务消费(聚合支付系统调用卡系统).png -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab04/src/main/java/cn/itbeien/Lab04Application.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.cloud.client.discovery.EnableDiscoveryClient; 6 | 7 | /** 8 | * @author beien 9 | * @date 2024-04-14 8:35 10 | * Copyright© 2024 beien 11 | */ 12 | @SpringBootApplication 13 | @EnableDiscoveryClient 14 | public class Lab04Application { 15 | public static void main(String[] args) { 16 | SpringApplication.run(Lab04Application.class,args); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab04/src/main/resources/application-product.properties: -------------------------------------------------------------------------------- 1 | spring.cloud.nacos.config.server-addr=127.0.0.1:3333 2 | spring.cloud.nacos.config.namespace=772c8d40-00a8-47dd-8eeb-dfe19fb76aa8 3 | spring.cloud.nacos.config.username=nacos 4 | spring.cloud.nacos.config.password=nacos 5 | #spring.config.import方式导入配置项 6 | spring.config.import[0]=optional:nacos:datasourcemaster-product.properties?group=datasource 7 | spring.config.import[1]=optional:nacos:system-product.properties?group=system -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba-master/itbeien-lab04/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # 采用spring.config.import 方式引入配置文件 新版本不需要使用 bootstrap.yml 2 | #server.port=9000 3 | server.port=9001 4 | spring.profiles.active=dev 5 | # 用于注册的名称 卡系统服务 6 | spring.application.name=card-service 7 | #spring.profiles.active=test 8 | #spring.profiles.active=dev -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba/doc/09Spring Cloud Sentinel整合Nacos实现配置持久化.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/itbeien-springcloudalibaba-master/itbeien-springcloudalibaba/doc/09Spring Cloud Sentinel整合Nacos实现配置持久化.pdf -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba/itbeien-mall/src/main/java/cn/itbeien/MallApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.cloud.client.discovery.EnableDiscoveryClient; 6 | import org.springframework.cloud.openfeign.EnableFeignClients; 7 | 8 | /** 9 | * @author beien 10 | * @date 2024-04-08 14:45 11 | * Copyright© 2024 beien 12 | */ 13 | @SpringBootApplication 14 | @EnableDiscoveryClient 15 | @EnableFeignClients 16 | public class MallApplication { 17 | public static void main(String[] args) { 18 | SpringApplication.run(MallApplication.class,args); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba/itbeien-mall/src/main/java/cn/itbeien/fallback/PayServiceFeignClientFallback.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.fallback; 2 | 3 | import cn.itbeien.service.CallPayService; 4 | 5 | /** 6 | * @author beien 7 | * @date 2024-04-10 21:05 8 | * Copyright© 2024 beien 9 | */ 10 | public class PayServiceFeignClientFallback implements CallPayService { 11 | private Throwable throwable; 12 | 13 | public PayServiceFeignClientFallback(Throwable throwable) { 14 | this.throwable = throwable; 15 | } 16 | @Override 17 | public String doPay() { 18 | return "fallback:" + throwable.getClass().getSimpleName(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba/itbeien-mall/src/main/java/cn/itbeien/fallback/PayServiceFeignClientFallbackFactory.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.fallback; 2 | 3 | import org.springframework.cloud.openfeign.FallbackFactory; 4 | import org.springframework.stereotype.Component; 5 | 6 | /** 7 | * @author beien 8 | * @date 2024-04-10 21:06 9 | * Copyright© 2024 beien 10 | */ 11 | @Component 12 | public class PayServiceFeignClientFallbackFactory implements FallbackFactory { 13 | 14 | @Override 15 | public PayServiceFeignClientFallback create(Throwable throwable) { 16 | // 可以给 PayServiceFeignClientFallback 提供具体的 throwable 异常 17 | return new PayServiceFeignClientFallback(throwable); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba/itbeien-mall/src/main/java/cn/itbeien/service/CallPayService.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.service; 2 | 3 | import cn.itbeien.fallback.PayServiceFeignClientFallbackFactory; 4 | import org.springframework.cloud.openfeign.FeignClient; 5 | import org.springframework.web.bind.annotation.RequestMapping; 6 | import org.springframework.web.bind.annotation.RequestMethod; 7 | 8 | /** 9 | * @author beien 10 | * @date 2024-04-08 14:58 11 | * Copyright© 2024 beien 12 | */ 13 | @FeignClient(name = "pay-service",fallbackFactory = PayServiceFeignClientFallbackFactory.class) 14 | public interface CallPayService { 15 | @RequestMapping(value = "/api/doPay/", method = RequestMethod.GET) 16 | String doPay(); 17 | } 18 | 19 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba/itbeien-pay/src/main/java/cn/itbeien/PayApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author beien 8 | * @date 2024-04-08 15:10 9 | * Copyright© 2024 beien 10 | */ 11 | @SpringBootApplication 12 | public class PayApplication { 13 | public static void main(String[] args) { 14 | SpringApplication.run(PayApplication.class,args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba/itbeien-sentinel-springcloud/readme.txt: -------------------------------------------------------------------------------- 1 | java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -jar sentinel-dashboard-1.8.7.jar -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba/itbeien-sentinel-springcloud/src/main/java/cn/itbeien/SentinelApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author beien 8 | * @date 2024-04-02 14:41 9 | * Copyright© 2024 beien 10 | */ 11 | @SpringBootApplication 12 | public class SentinelApplication { 13 | public static void main(String[] args) { 14 | SpringApplication.run(SentinelApplication.class,args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba/itbeien-sentinel-springcloud/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 2 | spring.application.name=itbeien-sentinel-springcloud 3 | spring.cloud.sentinel.transport.port=8719 4 | spring.cloud.sentinel.transport.dashboard=localhost:8080 5 | #允许循环依赖 6 | spring.main.allow-circular-references=true 7 | spring.cloud.compatibility-verifier.enabled=false -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba/readme.txt: -------------------------------------------------------------------------------- 1 | java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.7.jar 2 | java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar 3 | 4 | https://github.com/alibaba/Sentinel/wiki/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%99%E6%89%A9%E5%B1%95 5 | 6 | https://github.com/alibaba/spring-cloud-alibaba/wiki/Sentinel -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba/sentinel-nacos-springcloud/src/main/META-INF/services/com.alibaba.csp.sentinel.init.InitFunc: -------------------------------------------------------------------------------- 1 | cn.itbeien.init.DataSourceInitFunc -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba/sentinel-nacos-springcloud/src/main/java/cn/itbeien/SentinelApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author beien 8 | * @date 2024-04-02 20:15 9 | * Copyright© 2024 beien 10 | */ 11 | @SpringBootApplication 12 | public class SentinelApplication { 13 | public static void main(String[] args) { 14 | SpringApplication.run(SentinelApplication.class,args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba/sentinel-nacos-springcloud/src/main/resources/bootstrap.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 2 | spring.application.name=itbeien-spring-cloud-sentinel-nacos 3 | spring.cloud.nacos.config.server-addr=127.0.0.1:3333 4 | spring.cloud.nacos.config.username=nacos 5 | spring.cloud.nacos.config.password=nacos 6 | spring.cloud.nacos.config.file-extension=properties 7 | spring.cloud.nacos.config.namespace=772c8d40-00a8-47dd-8eeb-dfe19fb76aa8 8 | spring.cloud.nacos.config.group=dev 9 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba/sentinel-nacos-springcloud/src/main/resources/bootstrap.yml.bak: -------------------------------------------------------------------------------- 1 | server: 2 | port: 9090 3 | spring: 4 | application: 5 | name: itbeien-spring-cloud-sentinel-nacos #微服务名称 6 | cloud: 7 | nacos: 8 | config: #配置nacos配置中心地址 9 | server-addr: 127.0.0.1:3333 10 | username: nacos 11 | password: nacos 12 | file-extension: yml # 指定配置文件的扩展名为yml 13 | namespace: 161e6331-28c5-40c3-9c93-c22c7658d504 14 | group: dev 15 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/itbeien-springcloudalibaba/sentinel-nacos-springcloud/src/main/resources/flow-rules.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "resource": "/api/testSentinel", 4 | "limitApp": "default", 5 | "grade": 1, 6 | "count": 2, 7 | "strategy": 0, 8 | "controlBehavior": 0, 9 | "clusterMode": false 10 | } 11 | ] -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/minio/doc/01分布式对象存储minio.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/itbeien-springcloudalibaba-master/minio/doc/01分布式对象存储minio.pdf -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/minio/doc/02SpringBoot整合Minio上传文件.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/itbeien-springcloudalibaba-master/minio/doc/02SpringBoot整合Minio上传文件.pdf -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/minio/itbeien-springboot/minio/src/main/java/cn/itbeien/MinioManager.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author beien 8 | * @date 2023-10-19 14:26 9 | * Copyright© 2023 beien 10 | * minio启动类 11 | */ 12 | @SpringBootApplication 13 | public class MinioManager { 14 | public static void main(String[] args) { 15 | SpringApplication.run(MinioManager.class,args); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/minio/itbeien-springboot/minio/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | minio: 2 | endpoint: http://192.168.8.8 3 | port: 9000 4 | accessKey: 3PDQa0c72ncnpwvc0RPU 5 | secretKey: hcEKhVEW6ULIAWm9Td1QjgcMrJF59CdDMb9YboV1 6 | bucketName: itbeien 7 | secure: false -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/minio/itbeien-springboot/springboot-minio/src/main/java/cn/itbeien/MinIOApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author beien 8 | * @date 2023-10-18 15:43 9 | * Copyright© 2023 beien 10 | * minio实现文件上传的启动类 11 | */ 12 | @SpringBootApplication 13 | public class MinIOApplication { 14 | public static void main(String[] args) { 15 | SpringApplication.run(MinIOApplication.class, args); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/minio/itbeien-springboot/springboot-minio/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | minio: 2 | endpoint: http://192.168.8.8 3 | port: 9000 4 | accessKey: 3PDQa0c72ncnpwvc0RPU 5 | secretKey: hcEKhVEW6ULIAWm9Td1QjgcMrJF59CdDMb9YboV1 6 | bucketName: itbeien 7 | secure: false -------------------------------------------------------------------------------- /itbeien-springcloudalibaba-master/minio/itbeien-springboot/springboot-scheduled/src/main/java/cn/itbeien/SpringbootSchedulingTasksApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.scheduling.annotation.EnableScheduling; 6 | 7 | /** 8 | * @author beien 9 | * @date 2023-10-17 18:57 10 | * Copyright© 2023 beien 11 | */ 12 | @SpringBootApplication 13 | //开启定时任务 14 | @EnableScheduling 15 | public class SpringbootSchedulingTasksApplication { 16 | 17 | public static void main(String[] args) { 18 | SpringApplication.run(SpringbootSchedulingTasksApplication.class, args); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /langchain4j-reading/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | !**/src/main/**/target/ 4 | !**/src/test/**/target/ 5 | 6 | ### IntelliJ IDEA ### 7 | .idea/modules.xml 8 | .idea/jarRepositories.xml 9 | .idea/compiler.xml 10 | .idea/libraries/ 11 | *.iws 12 | *.iml 13 | *.ipr 14 | 15 | ### Eclipse ### 16 | .apt_generated 17 | .classpath 18 | .factorypath 19 | .project 20 | .settings 21 | .springBeans 22 | .sts4-cache 23 | 24 | ### NetBeans ### 25 | /nbproject/private/ 26 | /nbbuild/ 27 | /dist/ 28 | /nbdist/ 29 | /.nb-gradle/ 30 | build/ 31 | !**/src/main/**/build/ 32 | !**/src/test/**/build/ 33 | 34 | ### VS Code ### 35 | .vscode/ 36 | 37 | ### Mac OS ### 38 | .DS_Store -------------------------------------------------------------------------------- /langchain4j-reading/image/langchain4j-reading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/langchain4j-reading/image/langchain4j-reading.png -------------------------------------------------------------------------------- /langchain4j-reading/langchain4j-core-lab01/src/main/java/cn/itbeien/langchain4j/ApiContants.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.langchain4j; 2 | 3 | import static dev.langchain4j.internal.Utils.getOrDefault; 4 | 5 | /** 6 | * @author itbeien 7 | * 项目网站:https://www.itbeien.cn 8 | * 公众号:贝恩聊架构 9 | * 全网同名,欢迎小伙伴们关注 10 | * Java/AI/支付系统/SAAS多租户基础技术平台学习社群 11 | * Copyright© 2025 itbeien 12 | */ 13 | public class ApiContants { 14 | public static final String DEEPSEEK_API_KEY = System.getenv("DEEPSEEK_KEY"); 15 | public static final String DEEPSEEK_API_URL = "https://api.deepseek.com"; 16 | public static final String DEEPSEEK_API_MODEL = "deepseek-chat"; 17 | } 18 | -------------------------------------------------------------------------------- /pay-labs-dubbo-master/pay-api-dubbo/src/main/java/cn/itbeien/api/IPayService.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.api; 2 | 3 | /** 4 | * @author itbeien 5 | * 项目网站:https://www.itbeien.cn 6 | * 公众号:贝恩聊架构 7 | * 全网同名,欢迎小伙伴们关注 8 | * Copyright© 2024 itbeien 9 | */ 10 | public interface IPayService { 11 | public String pay(String data); 12 | } 13 | -------------------------------------------------------------------------------- /pay-labs-dubbo-master/pay-dubbo/src/main/java/cn/itbeien/pay/PayDubboApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.pay; 2 | 3 | import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * Copyright© 2024 itbeien 13 | */ 14 | @SpringBootApplication 15 | @EnableDubbo 16 | public class PayDubboApplication { 17 | public static void main(String[] args) { 18 | SpringApplication.run(PayDubboApplication.class,args); 19 | } 20 | } -------------------------------------------------------------------------------- /pay-labs-dubbo-master/pay-dubbo/src/main/java/cn/itbeien/pay/service/PayService.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.pay.service; 2 | 3 | import cn.itbeien.api.IPayService; 4 | import lombok.extern.slf4j.Slf4j; 5 | import org.apache.dubbo.config.annotation.DubboService; 6 | 7 | 8 | /** 9 | * @author itbeien 10 | * 项目网站:https://www.itbeien.cn 11 | * 公众号:贝恩聊架构 12 | * 全网同名,欢迎小伙伴们关注 13 | * Copyright© 2024 itbeien 14 | */ 15 | @DubboService 16 | @Slf4j 17 | public class PayService implements IPayService { 18 | @Override 19 | public String pay(String data) { 20 | log.info("进入到dubbo版本支付系统{}",data); 21 | return "OK"; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /pay-labs-dubbo-master/pay-dubbo/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | dubbo.registry.address=nacos://${nacos.address:192.168.0.105}:8848?username=nacos&password=nacos 2 | dubbo.registry.register-mode=instance 3 | dubbo.protocol.name=tri 4 | dubbo.protocol.port=50051 5 | dubbo.application.qos-enable=true 6 | dubbo.application.name=PayDubboApplication 7 | dubbo.application.qos-port=22222 8 | dubbo.application.qos-accept-foreign-ip=false 9 | dubbo.application.logger=slf4j 10 | dubbo.application.parameters.namespace=84c5ce16-6784-412d-8da8-d42310249cc8 -------------------------------------------------------------------------------- /pay-labs-dubbo-master/pay-dubbo/src/main/resources/application.yml.bak: -------------------------------------------------------------------------------- 1 | dubbo: 2 | registry: 3 | address: nacos://${nacos.address:192.168.0.105}:8848?username=nacos&password=nacos 4 | register-mode: instance 5 | protocol: 6 | name: tri 7 | port: 50051 8 | application: 9 | qos-enable: true 10 | name: PayDubboApplication 11 | qos-port: 22222 12 | qos-accept-foreign-ip: false 13 | logger: slf4j 14 | parameters: 15 | namespace: 84c5ce16-6784-412d-8da8-d42310249cc8 -------------------------------------------------------------------------------- /pay-labs-dubbo-master/posp-gateway-client/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | netty.port:8600 2 | netty.url:127.0.0.1 3 | 4 | server.port=9999 -------------------------------------------------------------------------------- /pay-labs-dubbo-master/posp-gateway-dubbo/src/main/java/cn/itbeien/service/IPayConsumerService.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.service; 2 | 3 | import com.alibaba.fastjson2.JSONObject; 4 | 5 | /** 6 | * @author itbeien 7 | * 项目网站:https://www.itbeien.cn 8 | * 公众号:贝恩聊架构 9 | * 全网同名,欢迎小伙伴们关注 10 | * 从服务注册中心发现pay服务并进行消费调用 11 | * Copyright© 2024 itbeien 12 | */ 13 | public interface IPayConsumerService { 14 | public String callPayService(JSONObject jsonObject); 15 | } 16 | -------------------------------------------------------------------------------- /pay-labs-dubbo-master/posp-gateway-dubbo/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | dubbo.registry.address=nacos://${nacos.address:192.168.0.105}:8848?username=nacos&password=nacos 2 | dubbo.registry.register-mode=instance 3 | dubbo.protocol.name=tri 4 | dubbo.protocol.port=50051 5 | dubbo.application.qos-enable=true 6 | dubbo.application.name=GatewayApplication 7 | dubbo.application.qos-port=33333 8 | dubbo.application.qos-accept-foreign-ip=false 9 | dubbo.application.logger=slf4j 10 | dubbo.application.parameters.namespace=84c5ce16-6784-412d-8da8-d42310249cc8 11 | 12 | netty.port=8600 13 | netty.url=127.0.0.1 -------------------------------------------------------------------------------- /pay-labs-dubbo-master/posp-gateway-dubbo/src/main/resources/application.yml.bak: -------------------------------------------------------------------------------- 1 | dubbo: 2 | registry: 3 | address: nacos://${nacos.address:127.0.0.1}:8848?username=nacos&password=nacos 4 | register-mode: instance 5 | protocol: 6 | name: tri 7 | port: 50051 8 | application: 9 | qos-enable: true 10 | name: GatewayApplication 11 | qos-port: 33333 12 | qos-accept-foreign-ip: false 13 | logger: slf4j 14 | netty: 15 | port: 8600 16 | url: 127.0.0.1 -------------------------------------------------------------------------------- /pay-labs-dubbo-master/readme.md: -------------------------------------------------------------------------------- 1 | [08JDK17+Dubbo3.3.2搭建企业级支付系统-预付卡支付交易微服务](https://www.itbeien.cn/tech/microservice/08JDK17_Dubbo3.3.2%E6%90%AD%E5%BB%BA%E4%BC%81%E4%B8%9A%E7%BA%A7%E6%94%AF%E4%BB%98%E7%B3%BB%E7%BB%9F-%E9%A2%84%E4%BB%98%E5%8D%A1%E6%94%AF%E4%BB%98%E4%BA%A4%E6%98%93%E5%BE%AE%E6%9C%8D%E5%8A%A1.html) [|pay-dubbo](pay-dubbo) [|pay-api-dubbo](pay-api-dubbo) -------------------------------------------------------------------------------- /pay-labs-master/itbeien-util/src/main/java/cn/itbeien/Main.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien; 2 | 3 | public class Main { 4 | public static void main(String[] args) { 5 | System.out.println("Hello world!"); 6 | } 7 | } -------------------------------------------------------------------------------- /pay-labs-master/itbeien-util/src/main/java/cn/itbeien/common/constant/Constants.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.common.constant; 2 | 3 | /** 4 | * @author itbeien 5 | * 项目网站:https://www.itbeien.cn 6 | * 公众号:贝恩聊架构 7 | * 全网同名,欢迎小伙伴们关注 8 | * 通用常量信息 9 | */ 10 | public class Constants 11 | { 12 | 13 | /** 14 | * 资源映射路径 前缀 15 | */ 16 | public static final String RESOURCE_PREFIX = "/profile"; 17 | } 18 | -------------------------------------------------------------------------------- /pay-labs-master/pay-spring-cloud-alibaba/src/main/java/cn/itbeien/pay/PayApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.pay; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.cloud.client.discovery.EnableDiscoveryClient; 6 | 7 | 8 | /** 9 | * @author itbeien 10 | * 项目网站:https://www.itbeien.cn 11 | * 公众号:贝恩聊架构 12 | * 全网同名,欢迎小伙伴们关注 13 | */ 14 | @SpringBootApplication 15 | @EnableDiscoveryClient 16 | public class PayApplication { 17 | public static void main(String[] args) { 18 | SpringApplication.run(PayApplication.class,args); 19 | } 20 | } -------------------------------------------------------------------------------- /pay-labs-master/pay-spring-cloud-alibaba/src/main/java/cn/itbeien/pay/service/IQrCodeService.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.pay.service; 2 | 3 | 4 | import java.util.List; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2024 itbeien 12 | */ 13 | public interface IQrCodeService { 14 | 15 | public void createQR(Integer qrNumber,String qrCodeUrl,String qrLocation); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /pay-labs-master/pay-spring-cloud-alibaba/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | #spring.config.import=nacos://192.168.0.250:8848 2 | spring.application.name=ecard 3 | spring.cloud.nacos.discovery.server-addr=192.168.0.105:8848 4 | spring.cloud.nacos.username=nacos 5 | spring.cloud.nacos.password=nacos 6 | spring.cloud.nacos.discovery.namespace=d75831b3-04d1-464c-a821-e1e2055ccc43 7 | spring.cloud.nacos.discovery.group=dtpay 8 | spring.cloud.nacos.config.server-addr=192.168.0.105:8848 9 | spring.cloud.nacos.config.username=nacos 10 | spring.cloud.nacos.config.password=nacos 11 | spring.cloud.nacos.config.namespace=d75831b3-04d1-464c-a821-e1e2055ccc43 12 | spring.config.import[0]=optional:nacos:system-datasource?group=dtpay 13 | server.port=9080 14 | #server.port=9081 -------------------------------------------------------------------------------- /pay-labs-master/posp-gateway-client/src/main/java/cn/itbeien/client/protocol/request/RegistrationRequest.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.client.protocol.request; 2 | 3 | 4 | import cn.itbeien.client.protocol.Protocol; 5 | import cn.itbeien.client.util.ByteUtil; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * 签到 13 | * Copyright© 2024 itbeien 14 | */ 15 | public class RegistrationRequest extends Protocol { 16 | 17 | private String versionNo; 18 | 19 | public String getVersionNo() { 20 | return versionNo; 21 | } 22 | 23 | protected void decode() throws Exception { 24 | this.versionNo = ByteUtil.getString(ByteUtil.getValue(this.getBody(), 4, 4)); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /pay-labs-master/posp-gateway-client/src/main/java/cn/itbeien/client/socket/handler/PosClientHandler.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.client.socket.handler; 2 | 3 | import io.netty.channel.ChannelHandlerContext; 4 | import io.netty.channel.SimpleChannelInboundHandler; 5 | import org.slf4j.Logger; 6 | import org.slf4j.LoggerFactory; 7 | 8 | public class PosClientHandler extends SimpleChannelInboundHandler { 9 | private static Logger logger = LoggerFactory.getLogger(PosClientHandler.class); 10 | @Override 11 | protected void channelRead0(ChannelHandlerContext channelHandlerContext, Object msg) throws Exception { 12 | logger.info("received data from client: {}",msg); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /pay-labs-master/posp-gateway-client/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | netty.port:8600 2 | netty.url:127.0.0.1 3 | 4 | server.port=9999 -------------------------------------------------------------------------------- /pay-labs-master/posp-gateway/src/main/java/cn/itbeien/protocol/request/RegistrationRequest.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.protocol.request; 2 | 3 | 4 | import cn.itbeien.protocol.Protocol; 5 | import cn.itbeien.util.ByteUtil; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * 签到 13 | * Copyright© 2024 itbeien 14 | */ 15 | public class RegistrationRequest extends Protocol { 16 | 17 | private String versionNo; 18 | 19 | public String getVersionNo() { 20 | return versionNo; 21 | } 22 | 23 | protected void decode() throws Exception { 24 | this.versionNo = ByteUtil.getString(ByteUtil.getValue(this.getBody(), 4, 4)); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /pay-labs-master/posp-gateway/src/main/java/cn/itbeien/service/IPayConsumerService.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.service; 2 | 3 | import com.alibaba.fastjson2.JSONObject; 4 | 5 | /** 6 | * @author itbeien 7 | * 项目网站:https://www.itbeien.cn 8 | * 公众号:贝恩聊架构 9 | * 全网同名,欢迎小伙伴们关注 10 | * 从服务注册中心发现pay服务并进行消费调用 11 | * Copyright© 2024 itbeien 12 | */ 13 | public interface IPayConsumerService { 14 | public String callPayService(JSONObject jsonObject); 15 | public String callFeignPayService(JSONObject jsonObject); 16 | 17 | public String callFeignSignService(JSONObject jsonObject); 18 | } 19 | -------------------------------------------------------------------------------- /pay-labs-master/posp-gateway/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | #spring.config.import=nacos://192.168.0.250:8848 2 | spring.application.name=posp-gateway 3 | spring.cloud.nacos.discovery.server-addr=192.168.0.105:8848 4 | spring.cloud.nacos.username=nacos 5 | spring.cloud.nacos.password=nacos 6 | spring.cloud.nacos.discovery.namespace=d75831b3-04d1-464c-a821-e1e2055ccc43 7 | spring.cloud.nacos.discovery.group=dtpay 8 | server.port=8080 9 | spring.pay.application.name=ecard 10 | 11 | netty.port=8600 12 | netty.url=127.0.0.1 -------------------------------------------------------------------------------- /programming-language/go-code/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .data 3 | -------------------------------------------------------------------------------- /programming-language/go-code/go-lab01/go.mod: -------------------------------------------------------------------------------- 1 | module go-lab01 2 | 3 | go 1.24 4 | -------------------------------------------------------------------------------- /programming-language/go-code/go-lab01/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | /* 8 | 我是多注释,注释是给人看的,计算机不会执行 9 | */ 10 | func main() { 11 | var name string 12 | 13 | fmt.Printf("Hello and welcome!") 14 | fmt.Printf(name) 15 | 16 | } 17 | -------------------------------------------------------------------------------- /programming-language/go-code/go-lab01/variable-lab.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import "fmt" 4 | 5 | func main() { 6 | fmt.Print("hello world") 7 | } 8 | -------------------------------------------------------------------------------- /programming-language/python-code/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/programming-language/python-code/.gitignore -------------------------------------------------------------------------------- /programming-language/python-code/python-lab01/keyword-lab.py: -------------------------------------------------------------------------------- 1 | import keyword 2 | 3 | # 获取所有关键字 4 | all_keywords = keyword.kwlist 5 | 6 | # 打印所有关键字 7 | print("Python 3.13的关键字如下:") 8 | for kw in all_keywords: 9 | print(kw) 10 | -------------------------------------------------------------------------------- /programming-language/python-code/python-lab01/variable-lab.py: -------------------------------------------------------------------------------- 1 | """ 2 | 这是多行注释,计算机不会执行 3 | @author itbeien 4 | 项目网站:https://www.itbeien.cn 5 | 公众号:贝恩聊架构 6 | 全网同名,欢迎小伙伴们关注 7 | Python/AI/支付系统/SAAS多租户基础技术平台学习社群 8 | Copyright© 2025 itbeien 9 | """ 10 | 11 | # 这是单行注释,计算机不会执行 12 | 13 | # 定义整数变量 14 | num = 10 15 | # 定义浮点数变量 16 | float_num = 3.14 17 | # 定义字符串变量 18 | string_var = "Hello, World!" 19 | # 定义布尔变量 20 | bool_var = True 21 | 22 | # 同时为三个变量赋值 23 | a, b, c = 1, 2, "abc" 24 | 25 | # 输出变量值 26 | print(num) -------------------------------------------------------------------------------- /programming-language/python-code/python-lab02/lab02.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/programming-language/python-code/python-lab02/lab02.py -------------------------------------------------------------------------------- /programming-language/typescript-code/typescript-lab01/lab01.ts: -------------------------------------------------------------------------------- 1 | let username = "itbeien" 2 | console.log(username) -------------------------------------------------------------------------------- /programming-language/typescript-code/typescript-lab02/lab02.ts: -------------------------------------------------------------------------------- 1 | let age = 18 2 | let username ="itbeien" 3 | console.log(age) 4 | console.log(username) -------------------------------------------------------------------------------- /readme.txt: -------------------------------------------------------------------------------- 1 | 1.itbeien-springcloudalibaba-master 微服务技术栈相关代码和文档 2 | 2.pd powerdesigner 生成数据字典文档脚本 3 | 3.pay-labs-master 跟着我学微服务-基于企业级支付系统实战 -------------------------------------------------------------------------------- /spring-ai-reading/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | !**/src/main/**/target/ 4 | !**/src/test/**/target/ 5 | 6 | ### IntelliJ IDEA ### 7 | .idea/modules.xml 8 | .idea/jarRepositories.xml 9 | .idea/compiler.xml 10 | .idea/libraries/ 11 | *.iws 12 | *.iml 13 | *.ipr 14 | 15 | ### Eclipse ### 16 | .apt_generated 17 | .classpath 18 | .factorypath 19 | .project 20 | .settings 21 | .springBeans 22 | .sts4-cache 23 | 24 | ### NetBeans ### 25 | /nbproject/private/ 26 | /nbbuild/ 27 | /dist/ 28 | /nbdist/ 29 | /.nb-gradle/ 30 | build/ 31 | !**/src/main/**/build/ 32 | !**/src/test/**/build/ 33 | 34 | ### VS Code ### 35 | .vscode/ 36 | 37 | ### Mac OS ### 38 | .DS_Store 39 | /spring-ai-client-chat-lab01/.flattened-pom.xml 40 | /.flattened-pom.xml 41 | -------------------------------------------------------------------------------- /spring-ai-reading/image/springai-reading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/spring-ai-reading/image/springai-reading.png -------------------------------------------------------------------------------- /spring-ai-reading/spring-ai-client-chat-lab01/src/main/java/cn/itbeien/springai/ChatClientBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.springai; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI/支付系统/SAAS多租户基础技术平台学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class ChatClientBoot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(ChatClientBoot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /spring-ai-reading/spring-ai-client-chat-lab01/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | #spring.ai.openai.api-key=${DASHSCOPE_API_KEY} 2 | #spring.ai.openai.base-url=https://dashscope.aliyuncs.com 3 | #spring.ai.openai.chat.enabled=true 4 | #spring.ai.openai.chat.options.model=qwen-plus 5 | #spring.ai.openai.chat.completions-path=/compatible-mode/v1/chat/completions 6 | 7 | #spring.ai.zhipuai.api-key=${ZHI_PU} 8 | #spring.ai.zhipuai.base-url=https://open.bigmodel.cn/api/paas/ 9 | 10 | spring.ai.openai.api-key=${DEEPSEEK_KEY} 11 | spring.ai.openai.base-url=https://api.deepseek.com 12 | spring.ai.openai.chat.options.model=deepseek-chat -------------------------------------------------------------------------------- /springboot3-labs-master/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | !**/src/main/**/target/ 4 | !**/src/test/**/target/ 5 | 6 | ### IntelliJ IDEA ### 7 | .idea/modules.xml 8 | .idea/jarRepositories.xml 9 | .idea/compiler.xml 10 | .idea/libraries/ 11 | *.iws 12 | *.iml 13 | *.ipr 14 | 15 | ### Eclipse ### 16 | .apt_generated 17 | .classpath 18 | .factorypath 19 | .project 20 | .settings 21 | .springBeans 22 | .sts4-cache 23 | 24 | ### NetBeans ### 25 | /nbproject/private/ 26 | /nbbuild/ 27 | /dist/ 28 | /nbdist/ 29 | /.nb-gradle/ 30 | build/ 31 | !**/src/main/**/build/ 32 | !**/src/test/**/build/ 33 | 34 | ### VS Code ### 35 | .vscode/ 36 | 37 | ### Mac OS ### 38 | .DS_Store -------------------------------------------------------------------------------- /springboot3-labs-master/dynamic-datasource-mybatis-plus/README.md: -------------------------------------------------------------------------------- 1 | [02SpringBoot3.4.0结合Mybatis-plus实现动态数据源](https://www.itbeien.cn/tech/SpringBoot3/02SpringBoot3.4.0%E7%BB%93%E5%90%88Mybatis-plus%E5%AE%9E%E7%8E%B0%E5%8A%A8%E6%80%81%E6%95%B0%E6%8D%AE%E6%BA%90.html) -------------------------------------------------------------------------------- /springboot3-labs-master/dynamic-datasource-mybatis-plus/src/main/java/cn/itbeien/dynamic/DynamicApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.dynamic; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | 8 | /** 9 | * @author itbeien 10 | * 项目网站:https://www.itbeien.cn 11 | * 公众号:贝恩聊架构 12 | * 全网同名,欢迎小伙伴们关注 13 | * 没有@DS 默认数据源 14 | * @DS("dsName") dsName可以为组名也可以为具体某个库的名称 15 | * Copyright© 2024 itbeien 16 | */ 17 | @SpringBootApplication 18 | @MapperScan 19 | public class DynamicApplication { 20 | public static void main(String[] args) { 21 | SpringApplication.run(DynamicApplication.class,args); 22 | } 23 | } -------------------------------------------------------------------------------- /springboot3-labs-master/dynamic-datasource-mybatis-plus/src/main/java/cn/itbeien/dynamic/entity/SysUser.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.dynamic.entity; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class SysUser { 7 | private Long id; 8 | private String name; 9 | private Integer age; 10 | private String email; 11 | } 12 | -------------------------------------------------------------------------------- /springboot3-labs-master/dynamic-datasource-mybatis-plus/src/main/java/cn/itbeien/dynamic/mapper/SysUserMapper.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.dynamic.mapper; 2 | 3 | import cn.itbeien.dynamic.entity.SysUser; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | public interface SysUserMapper extends BaseMapper { 7 | 8 | } -------------------------------------------------------------------------------- /springboot3-labs-master/dynamic-datasource-mybatis-plus/src/main/java/cn/itbeien/dynamic/service/UserService.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.dynamic.service; 2 | 3 | import java.util.List; 4 | 5 | public interface UserService { 6 | 7 | public List selectAll(); 8 | 9 | public List selectAllSlave01(); 10 | 11 | 12 | public List selectAllSlave02(); 13 | } 14 | -------------------------------------------------------------------------------- /springboot3-labs-master/dynamic-datasource-mybatis-plus/src/main/resources/db/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS sys_user; 2 | 3 | CREATE TABLE sys_user 4 | ( 5 | id BIGINT NOT NULL COMMENT '主键ID', 6 | name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', 7 | age INT NULL DEFAULT NULL COMMENT '年龄', 8 | email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱', 9 | PRIMARY KEY (id) 10 | ); -------------------------------------------------------------------------------- /springboot3-labs-master/spingboot-mybatis/readme.md: -------------------------------------------------------------------------------- 1 | [01SpringBoot3专栏-SpringBoot3.4.0整合Mybatis-plus和Mybatis](https://www.itbeien.cn/tech/SpringBoot3/01SpringBoot3%E4%B8%93%E6%A0%8F-SpringBoot3.4.0%E6%95%B4%E5%90%88Mybatis-plus%E5%92%8CMybatis.html) -------------------------------------------------------------------------------- /springboot3-labs-master/spingboot-mybatis/src/main/java/cn/itbeien/mybatis/MyBatisApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.mybatis; 2 | 3 | 4 | import org.mybatis.spring.annotation.MapperScan; 5 | import org.springframework.boot.SpringApplication; 6 | import org.springframework.boot.autoconfigure.SpringBootApplication; 7 | 8 | 9 | /** 10 | * @author itbeien 11 | * 项目网站:https://www.itbeien.cn 12 | * 公众号:贝恩聊架构 13 | * 全网同名,欢迎小伙伴们关注 14 | * Copyright© 2024 itbeien 15 | */ 16 | @SpringBootApplication 17 | @MapperScan 18 | public class MyBatisApplication { 19 | public static void main(String[] args) { 20 | //SpringApplication.run(MyBatisApplication.class,args); 21 | //测试代码在src/test 22 | } 23 | } -------------------------------------------------------------------------------- /springboot3-labs-master/spingboot-mybatis/src/main/resources/application-test.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.driver-class-name=com.mysql.jdbc.Driver 2 | spring.datasource.url=jdbc:mysql://192.168.0.104:3306/springboot3?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8 3 | spring.datasource.username=root 4 | spring.datasource.password=rootpwd20240809 5 | spring.sql.init.schema-locations=classpath:db/schema-mysql.sql 6 | spring.sql.init.data-locations=classpath:db/data-mysql.sql 7 | spring.sql.init.mode=always 8 | logging.level.cn.itbeien.mybatis.plus=debug 9 | # MyBatis配置 10 | # 搜索指定包别名 11 | mybatis.typeAliasesPackage=cn.itbeien.**.entity 12 | # 配置mapper的扫描,找到所有的mapper.xml映射文件 13 | mybatis.mapperLocations=classpath*:mapper/**/*Mapper.xml -------------------------------------------------------------------------------- /springboot3-labs-master/spingboot-mybatis/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # 应用服务 WEB 访问端口 2 | #server.port=9029 3 | # 实现多环境部署 4 | spring.profiles.active=test -------------------------------------------------------------------------------- /springboot3-labs-master/spingboot-mybatis/src/main/resources/db/data-mysql.sql: -------------------------------------------------------------------------------- 1 | DELETE FROM sys_user_mybatis; 2 | 3 | INSERT INTO sys_user_mybatis (id, name, age, email) VALUES 4 | (1, 'itbeien', 18, 'itbeien.cn'), 5 | (2, 'beien', 20, 'www.itbeien.cn'), 6 | (3, 'bill', 28, 'https://itbeien.cn'), 7 | (4, 'gate', 21, 'itbeien.cn'), 8 | (5, 'hello', 24, 'itbeien.cn'); -------------------------------------------------------------------------------- /springboot3-labs-master/spingboot-mybatis/src/main/resources/db/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS sys_user_mybatis; 2 | 3 | CREATE TABLE sys_user_mybatis 4 | ( 5 | id BIGINT NOT NULL COMMENT '主键ID', 6 | name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', 7 | age INT NULL DEFAULT NULL COMMENT '年龄', 8 | email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱', 9 | PRIMARY KEY (id) 10 | ); -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-activemq/src/main/java/cn/itbeien/activemq/ActiveMQApp.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.activemq; 2 | 3 | 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * Copyright© 2024 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class ActiveMQApp { 16 | public static void main(String[] args) { 17 | SpringApplication.run(ActiveMQApp.class,args); 18 | } 19 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-activemq/src/main/java/cn/itbeien/activemq/service/ConsumerService.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.activemq.service; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.springframework.jms.annotation.JmsListener; 5 | import org.springframework.stereotype.Service; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * Copyright© 2024 itbeien 13 | */ 14 | @Service 15 | @Slf4j 16 | public class ConsumerService { 17 | 18 | @JmsListener(destination = "itbeienTopic") 19 | public void processMessage(String content) { 20 | log.info("消费者消费消息:{}",content); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-activemq/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9999 2 | spring.activemq.broker-url=tcp://localhost:61616 3 | #spring.activemq.user=admin 4 | #spring.activemq.password=admin -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-apachepulsar/src/main/java/cn/itbeien/pulsar/service/ConsumerService.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.pulsar.service; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.springframework.pulsar.annotation.PulsarListener; 5 | import org.springframework.stereotype.Component; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * Copyright© 2024 itbeien 13 | */ 14 | @Component 15 | @Slf4j 16 | public class ConsumerService { 17 | 18 | @PulsarListener(topics = "itbeienTopic") 19 | public void processMessage(String content) { 20 | log.info("消费者接收到的消息:{}",content); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-apachepulsar/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=5005 2 | spring.pulsar.client.service-url=pulsar://localhost:6650 -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-caffeine/src/main/java/cn/itbeien/caffeine/CaffeineBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.caffeine; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.cache.annotation.EnableCaching; 7 | 8 | /** 9 | * @author itbeien 10 | * 项目网站:https://www.itbeien.cn 11 | * 公众号:贝恩聊架构 12 | * 全网同名,欢迎小伙伴们关注 13 | * Java/AI学习社群 14 | * Copyright© 2025 itbeien 15 | */ 16 | @SpringBootApplication 17 | @EnableCaching 18 | @MapperScan 19 | public class CaffeineBoot { 20 | public static void main(String[] args) { 21 | SpringApplication.run(CaffeineBoot.class,args); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-caffeine/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver 2 | spring.datasource.url=jdbc:mysql://192.168.0.103:3306/test1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8 3 | spring.datasource.username=root 4 | spring.datasource.password=rootpwd20241215 5 | #spring.sql.init.schema-locations=classpath:db/schema-mysql.sql 6 | #spring.sql.init.data-locations=classpath:db/data-mysql.sql 7 | spring.sql.init.mode=always 8 | logging.level.cn.itbeien.mybatis.plus=debug 9 | # MyBatis配置 10 | # 搜索指定包别名 11 | mybatis.typeAliasesPackage=cn.itbeien.**.entity 12 | # 配置mapper的扫描,找到所有的mapper.xml映射文件 13 | mybatis.mapperLocations=classpath*:mapper/**/*Mapper.xml -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-caffeine/src/main/resources/db/data-mysql.sql: -------------------------------------------------------------------------------- 1 | DELETE FROM sys_user_mybatis; 2 | 3 | INSERT INTO sys_user_mybatis (id, name, age, email) VALUES 4 | (1, 'itbeien', 18, 'itbeien.cn'), 5 | (2, 'beien', 20, 'www.itbeien.cn'), 6 | (3, 'bill', 28, 'https://itbeien.cn'), 7 | (4, 'gate', 21, 'itbeien.cn'), 8 | (5, 'hello', 24, 'itbeien.cn'); -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-caffeine/src/main/resources/db/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS sys_user_mybatis; 2 | 3 | CREATE TABLE sys_user_mybatis 4 | ( 5 | id BIGINT NOT NULL COMMENT '主键ID', 6 | name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', 7 | age INT NULL DEFAULT NULL COMMENT '年龄', 8 | email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱', 9 | PRIMARY KEY (id) 10 | ); -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-canal/src/main/java/cn/itbeien/canal/CanalApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.canal; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2024 itbeien 12 | */ 13 | @SpringBootApplication 14 | public class CanalApplication { 15 | public static void main(String[] args) { 16 | SpringApplication.run(CanalApplication.class,args); 17 | } 18 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-canal/src/main/java/cn/itbeien/canal/entity/SysUser.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.canal.entity; 2 | 3 | import lombok.Data; 4 | import lombok.ToString; 5 | 6 | import java.io.Serializable; 7 | import java.util.Date; 8 | 9 | /** 10 | * @author itbeien 11 | * 项目网站:https://www.itbeien.cn 12 | * 公众号:贝恩聊架构 13 | * 全网同名,欢迎小伙伴们关注 14 | * Copyright© 2024 itbeien 15 | */ 16 | @Data 17 | @ToString 18 | public class SysUser implements Serializable { 19 | private String id; 20 | private String name; 21 | private Integer age; 22 | private String email; 23 | } 24 | 25 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-canal/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=2001 2 | server.servlet.context-path=/canal 3 | #canal 4 | canal-monitor-mysql.host=192.168.0.105 5 | #canal.properties canal.port 6 | canal-monitor-mysql.port=11111 7 | #spring.datasource.driver-class-name=com.mysql.jdbc.Driver 8 | #spring.datasource.url=jdbc:mysql://192.168.0.104:3306/canal?characterEncoding=utf-8 9 | #spring.datasource.username=root 10 | #spring.datasource.password=rootpwd20240809 11 | 12 | spring.data.redis.host=192.168.0.104 13 | spring.data.redis.port=6379 14 | spring.data.redis.password=Rootpwd20240809 15 | # redis数据库编号 16 | spring.data.redis.database=8 -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-canal/src/test/java/cn/itbeien/canal/test/CanalApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.canal.test; 2 | 3 | import cn.itbeien.canal.util.CanalUtil; 4 | import org.junit.jupiter.api.Test; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.boot.test.context.SpringBootTest; 7 | 8 | 9 | /** 10 | * @author itbeien 11 | * 项目网站:https://www.itbeien.cn 12 | * 公众号:贝恩聊架构 13 | * 全网同名,欢迎小伙伴们关注 14 | * Copyright© 2024 itbeien 15 | */ 16 | @SpringBootTest 17 | public class CanalApplication { 18 | @Autowired 19 | private CanalUtil canalUtil; 20 | @Test 21 | public void test(){ 22 | this.canalUtil.startMonitorSQL(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-email/src/main/java/cn/itbeien/mail/MaliBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.mail; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class MaliBoot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(MaliBoot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-email/src/main/java/cn/itbeien/mail/service/MailService.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.mail.service; 2 | 3 | /** 4 | * @author itbeien 5 | * 项目网站:https://www.itbeien.cn 6 | * 公众号:贝恩聊架构 7 | * 全网同名,欢迎小伙伴们关注 8 | * Java/AI学习社群 9 | * Copyright© 2025 itbeien 10 | */ 11 | public interface MailService { 12 | 13 | void sendSimpleMail(String to, String subject, String content); 14 | 15 | void sendHtmlMail(String to, String subject, String content); 16 | 17 | void sendAttachmentsMail(String to, String subject, String content, String filePath); 18 | 19 | void sendInlineResourceMail(String to, String subject, String content, String rscPath, String rscId); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-email/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.mail.host=smtp.163.com 2 | spring.mail.username=xxx@163.com 3 | spring.mail.password=xxx 4 | 5 | spring.mail.default-encoding=UTF-8 6 | 7 | from.mail.address=xxx@163.com 8 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-email/src/main/resources/spring-copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itbeien/programmer-guide/c66fbb9b7b8c00f2a1bc3669f06884a4f0aeaf7b/springboot3-labs-master/springboot-email/src/main/resources/spring-copy.png -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-email/src/main/resources/templates/emailTemplate.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 您好,这是验证邮件,请点击下面的链接完成验证,
9 | 激活账号 10 | 11 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-fileupload/src/main/java/cn/itbeien/upload/FileUploadBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.upload; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class FileUploadBoot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(FileUploadBoot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-fileupload/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.servlet.multipart.max-file-size=100MB 2 | spring.servlet.multipart.max-request-size=100MB -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-fileupload/src/main/resources/templates/upload.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

SpringBoot3 file upload

6 | 7 |
8 |

9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-fileupload/src/main/resources/templates/uploadStatus.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

SpringBoot3-upload status

6 | 7 |
8 |

9 |

10 | 11 | 12 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-jsqlparser/src/main/java/cn/itbeien/jsqlparser/JSqlParserBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.jsqlparser; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * Java/AI学习社群 13 | * Copyright© 2025 itbeien 14 | */ 15 | @SpringBootApplication 16 | @MapperScan 17 | public class JSqlParserBoot { 18 | public static void main(String[] args) { 19 | SpringApplication.run(JSqlParserBoot.class, args); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-jsqlparser/src/main/resources/db/data-mysql.sql: -------------------------------------------------------------------------------- 1 | DELETE FROM sys_user_jsqlparser; 2 | 3 | INSERT INTO sys_user_jsqlparser (id, name, age, email,create_user) VALUES 4 | (1, 'itbeien', 18, 'itbeien.cn','admin'), 5 | (2, 'beien', 20, 'www.itbeien.cn','admin'), 6 | (3, 'bill', 28, 'https://itbeien.cn','itbeien'), 7 | (4, 'gate', 21, 'itbeien.cn','admin'), 8 | (5, 'hello', 24, 'itbeien.cn','itbeien'); -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-jsqlparser/src/main/resources/db/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS sys_user_jsqlparser; 2 | 3 | CREATE TABLE sys_user_jsqlparser 4 | ( 5 | id BIGINT NOT NULL COMMENT '主键ID', 6 | name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', 7 | age INT NULL DEFAULT NULL COMMENT '年龄', 8 | email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱', 9 | create_user VARCHAR(30) NULL DEFAULT NULL COMMENT '创建人', 10 | PRIMARY KEY (id) 11 | ); -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-kafka/src/main/java/cn/itbeien/kafka/KafkaApp.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.kafka; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2024 itbeien 12 | */ 13 | @SpringBootApplication 14 | public class KafkaApp { 15 | public static void main(String[] args) { 16 | SpringApplication.run(KafkaApp.class,args); 17 | } 18 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-kafka/src/main/java/cn/itbeien/kafka/vo/SampleMessage.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.kafka.vo; 2 | 3 | import com.fasterxml.jackson.annotation.JsonCreator; 4 | import com.fasterxml.jackson.annotation.JsonProperty; 5 | import lombok.Data; 6 | 7 | @Data 8 | public class SampleMessage{ 9 | private final Integer id; 10 | 11 | private final String message; 12 | 13 | @JsonCreator 14 | public SampleMessage(@JsonProperty("id") Integer id, @JsonProperty("message") String message) { 15 | this.id = id; 16 | this.message = message; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return "SampleMessage{id=" + this.id + ", message='" + this.message + "'}"; 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-kafka/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.kafka.bootstrap-servers=localhost:9092 2 | spring.kafka.consumer.group-id=itbeienGroup 3 | spring.kafka.consumer.auto-offset-reset=earliest 4 | spring.kafka.consumer.value-deserializer=org.springframework.kafka.support.serializer.JsonDeserializer 5 | spring.kafka.consumer.properties.spring.json.trusted.packages=cn.itbeien.kafka.vo 6 | spring.kafka.producer.value-serializer=org.springframework.kafka.support.serializer.JsonSerializer -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-knife4j/src/main/java/cn/itbeien/knife4j/Knife4jBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.knife4j; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class Knife4jBoot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(Knife4jBoot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-knife4j/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | springdoc.swagger-ui.path=/swagger-ui.html 2 | springdoc.swagger-ui.tags-sorter=alpha 3 | springdoc.swagger-ui.operations-sorter=alpha 4 | springdoc.api-docs.path=/v3/api-docs 5 | springdoc.group-configs[0].group=default 6 | springdoc.group-configs[0].paths-to-match=/** 7 | springdoc.group-configs[0].packages-to-scan=cn.itbeien.knife4j.controller 8 | knife4j.setting.language=zh_cn -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mapstruct-lombok/README.md: -------------------------------------------------------------------------------- 1 | [03mapstruct对象映射在Springboot3中这样用就对了](https://www.itbeien.cn/tech/SpringBoot3/03mapstruct%E5%AF%B9%E8%B1%A1%E6%98%A0%E5%B0%84%E5%9C%A8Springboot3%E4%B8%AD%E8%BF%99%E6%A0%B7%E7%94%A8%E5%B0%B1%E5%AF%B9%E4%BA%86.html) -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mapstruct-lombok/src/main/java/cn/itbeien/mapstruct/lombok/Main.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.mapstruct.lombok; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | public static void main(String[] args) { 9 | SpringApplication.run(Main.class,args); 10 | } 11 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mapstruct/README.md: -------------------------------------------------------------------------------- 1 | [03mapstruct对象映射在Springboot3中这样用就对了](https://www.itbeien.cn/tech/SpringBoot3/03mapstruct%E5%AF%B9%E8%B1%A1%E6%98%A0%E5%B0%84%E5%9C%A8Springboot3%E4%B8%AD%E8%BF%99%E6%A0%B7%E7%94%A8%E5%B0%B1%E5%AF%B9%E4%BA%86.html) -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mapstruct/src/main/java/cn/itbeien/mapstruct/Main.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.mapstruct; 2 | 3 | 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * MapStruct 是一个对象属性映射工具,主要用于解决数据模型之间不通用的情况。用于对象与对象之间转换 13 | * 对象属性值拷贝工具 14 | * Copyright© 2024 itbeien 15 | */ 16 | @SpringBootApplication 17 | public class Main { 18 | public static void main(String[] args) { 19 | SpringApplication.run(Main.class,args); 20 | } 21 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mybatis-multi-datasource/src/main/java/cn/itbeien/multi/MultiBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.multi; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class MultiBoot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(MultiBoot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mybatis-multi-datasource/src/main/resources/db/sys_user.sql: -------------------------------------------------------------------------------- 1 | -- ---------------------------- 2 | -- Table structure for `sys_user` 3 | -- ---------------------------- 4 | DROP TABLE IF EXISTS `sys_user`; 5 | CREATE TABLE `sys_user` ( 6 | `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id', 7 | `user_name` varchar(32) DEFAULT NULL COMMENT '用户名', 8 | `password` varchar(32) DEFAULT NULL COMMENT '密码', 9 | `user_sex` varchar(32) DEFAULT NULL, 10 | `nick_name` varchar(32) DEFAULT NULL, 11 | PRIMARY KEY (`id`) 12 | ) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8; -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mybatis-nacos/README.md: -------------------------------------------------------------------------------- 1 | [01SpringBoot3专栏-SpringBoot3.4.0整合Mybatis-plus和Mybatis](https://www.itbeien.cn/tech/SpringBoot3/01SpringBoot3%E4%B8%93%E6%A0%8F-SpringBoot3.4.0%E6%95%B4%E5%90%88Mybatis-plus%E5%92%8CMybatis.html) -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mybatis-nacos/src/main/java/cn/itbeien/mybatis/nacos/MyBatisNacosApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.mybatis.nacos; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | 8 | /** 9 | * @author itbeien 10 | * 项目网站:https://www.itbeien.cn 11 | * 公众号:贝恩聊架构 12 | * 全网同名,欢迎小伙伴们关注 13 | * Copyright© 2024 itbeien 14 | */ 15 | @SpringBootApplication 16 | @MapperScan 17 | public class MyBatisNacosApplication { 18 | public static void main(String[] args) { 19 | //SpringApplication.run(MyBatisNacosApplication.class,args); 20 | //测试代码在src/test 21 | } 22 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mybatis-nacos/src/main/resources/application-test.properties: -------------------------------------------------------------------------------- 1 | # nacos ip和端口 2 | nacos.config.server-addr=192.168.0.105:8848 3 | nacos.config.username=nacos 4 | nacos.config.password=nacos 5 | # data-id 配置文件的文件名 6 | nacos.config.data-id=nacos-labs 7 | #nacos.config.type=yaml 8 | nacos.config.type=properties 9 | # group-id 项目或则组件的名称 10 | nacos.config.group=springboot3-labs-master 11 | #test 项目环境 12 | nacos.config.namespace=9e31a26c-b167-4abb-80e3-991963ba02bd 13 | #nacos配置文件是否自动刷新 14 | nacos.config.auto-refresh=true -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mybatis-nacos/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # nacos-server2.4.1 2 | # 应用服务 WEB 访问端口 3 | #server.port=9029 4 | # 实现多环境部署 5 | spring.profiles.active=test 6 | # 开启配置预加载功能,配置文件方式实现nacos动态配置 7 | nacos.config.bootstrap.enable=true -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mybatis-nacos/src/main/resources/db/data-mysql.sql: -------------------------------------------------------------------------------- 1 | DELETE FROM sys_user_mybatis; 2 | 3 | INSERT INTO sys_user_mybatis (id, name, age, email) VALUES 4 | (1, 'itbeien', 18, 'itbeien.cn'), 5 | (2, 'beien', 20, 'www.itbeien.cn'), 6 | (3, 'bill', 28, 'https://itbeien.cn'), 7 | (4, 'gate', 21, 'itbeien.cn'), 8 | (5, 'hello', 24, 'itbeien.cn'); -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mybatis-nacos/src/main/resources/db/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS sys_user_mybatis; 2 | 3 | CREATE TABLE sys_user_mybatis 4 | ( 5 | id BIGINT NOT NULL COMMENT '主键ID', 6 | name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', 7 | age INT NULL DEFAULT NULL COMMENT '年龄', 8 | email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱', 9 | PRIMARY KEY (id) 10 | ); -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mybatis-plus/README.md: -------------------------------------------------------------------------------- 1 | [01SpringBoot3专栏-SpringBoot3.4.0整合Mybatis-plus和Mybatis](https://www.itbeien.cn/tech/SpringBoot3/01SpringBoot3%E4%B8%93%E6%A0%8F-SpringBoot3.4.0%E6%95%B4%E5%90%88Mybatis-plus%E5%92%8CMybatis.html) -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mybatis-plus/src/main/java/cn/itbeien/mybatis/plus/MyBatisPlusApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.mybatis.plus; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * Copyright© 2024 itbeien 13 | */ 14 | @SpringBootApplication 15 | @MapperScan 16 | public class MyBatisPlusApplication { 17 | public static void main(String[] args) { 18 | //SpringApplication.run(MyBatisPlusApplication.class,args); 19 | // 测试代码在src/test 20 | } 21 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mybatis-plus/src/main/java/cn/itbeien/mybatis/plus/entity/SysUser.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.mybatis.plus.entity; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class SysUser { 7 | private Long id; 8 | private String name; 9 | private Integer age; 10 | private String email; 11 | } 12 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mybatis-plus/src/main/java/cn/itbeien/mybatis/plus/mapper/SysUserMapper.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.mybatis.plus.mapper; 2 | 3 | import cn.itbeien.mybatis.plus.entity.SysUser; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | public interface SysUserMapper extends BaseMapper { 7 | 8 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mybatis-plus/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.driver-class-name=com.mysql.jdbc.Driver 2 | spring.datasource.url=jdbc:mysql://192.168.0.104:3306/springboot3?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8 3 | spring.datasource.username=root 4 | spring.datasource.password=rootpwd20240809 5 | spring.sql.init.schema-locations=classpath:db/schema-mysql.sql 6 | spring.sql.init.data-locations=classpath:db/data-mysql.sql 7 | spring.sql.init.mode=always 8 | logging.level.cn.itbeien.mybatis.plus=debug -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mybatis-plus/src/main/resources/db/data-mysql.sql: -------------------------------------------------------------------------------- 1 | DELETE FROM sys_user; 2 | 3 | INSERT INTO sys_user (id, name, age, email) VALUES 4 | (1, 'itbeien', 18, 'itbeien.cn'), 5 | (2, 'beien', 20, 'www.itbeien.cn'), 6 | (3, 'bill', 28, 'https://itbeien.cn'), 7 | (4, 'gate', 21, 'itbeien.cn'), 8 | (5, 'hello', 24, 'itbeien.cn'); -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-mybatis-plus/src/main/resources/db/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS sys_user; 2 | 3 | CREATE TABLE sys_user 4 | ( 5 | id BIGINT NOT NULL COMMENT '主键ID', 6 | name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', 7 | age INT NULL DEFAULT NULL COMMENT '年龄', 8 | email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱', 9 | PRIMARY KEY (id) 10 | ); -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-nacos/README.md: -------------------------------------------------------------------------------- 1 | [01SpringBoot3专栏-SpringBoot3.4.0整合Mybatis-plus和Mybatis](https://www.itbeien.cn/tech/SpringBoot3/01SpringBoot3%E4%B8%93%E6%A0%8F-SpringBoot3.4.0%E6%95%B4%E5%90%88Mybatis-plus%E5%92%8CMybatis.html) -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-nacos/src/main/java/cn/itbeien/nacos/NacosApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.nacos; 2 | 3 | 4 | import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource; 5 | import org.springframework.boot.SpringApplication; 6 | import org.springframework.boot.autoconfigure.SpringBootApplication; 7 | 8 | 9 | /** 10 | * @author itbeien 11 | * 项目网站:https://www.itbeien.cn 12 | * 公众号:贝恩聊架构 13 | * 全网同名,欢迎小伙伴们关注 14 | * Copyright© 2024 itbeien 15 | */ 16 | @SpringBootApplication 17 | public class NacosApplication { 18 | public static void main(String[] args) { 19 | SpringApplication.run(NacosApplication.class,args); 20 | } 21 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-nacos/src/main/java/cn/itbeien/nacos/config/NacosLabConfig.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.nacos.config; 2 | 3 | import com.alibaba.nacos.api.config.annotation.NacosValue; 4 | import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource; 5 | import lombok.Data; 6 | import org.springframework.beans.factory.annotation.Value; 7 | import org.springframework.stereotype.Component; 8 | 9 | @Component 10 | @Data 11 | public class NacosLabConfig { 12 | 13 | //@NacosValue(value = "${nacos.lab.key}",autoRefreshed = true) 14 | @Value(value = "${nacos.lab.key}") 15 | private String key; 16 | } 17 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-nacos/src/main/java/cn/itbeien/nacos/controller/NacosLabController.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.nacos.controller; 2 | 3 | 4 | import cn.itbeien.nacos.config.NacosLabConfig; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.web.bind.annotation.GetMapping; 7 | import org.springframework.web.bind.annotation.RequestMapping; 8 | import org.springframework.web.bind.annotation.RestController; 9 | 10 | @RestController 11 | @RequestMapping("/nacos-lab") 12 | public class NacosLabController { 13 | @Autowired 14 | private NacosLabConfig nacosLabConfig; 15 | 16 | @GetMapping("test") 17 | public String test(){ 18 | return nacosLabConfig.getKey(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-nacos/src/main/resources/application-test.properties: -------------------------------------------------------------------------------- 1 | # nacos ip和端口 2 | nacos.config.server-addr=192.168.0.105:8848 3 | nacos.config.username=nacos 4 | nacos.config.password=nacos 5 | # data-id 配置文件的文件名 6 | nacos.config.data-id=nacos-labs 7 | #nacos.config.type=yaml 8 | nacos.config.type=properties 9 | # group-id 项目或者组件的名称 10 | nacos.config.group=springboot3-labs-master 11 | #test 项目环境 12 | nacos.config.namespace=9e31a26c-b167-4abb-80e3-991963ba02bd 13 | #nacos配置文件是否自动刷新 14 | nacos.config.auto-refresh=true -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-nacos/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # nacos-server2.4.1 2 | # 应用服务 WEB 访问端口 3 | #server.port=9029 4 | # 实现多环境部署 5 | spring.profiles.active=test 6 | # 开启配置预加载功能,配置文件方式实现nacos动态配置 7 | nacos.config.bootstrap.enable=true -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-nacos/src/test/java/cn/itbeien/nacos/test/NacosTest.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.nacos.test; 2 | 3 | import org.springframework.boot.test.context.SpringBootTest; 4 | 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2024 itbeien 12 | */ 13 | @SpringBootTest 14 | public class NacosTest { 15 | } 16 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-openfeign/springboot-openfeign-client/src/main/java/cn/itbeien/openfeign/OpenfeignBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.openfeign; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class OpenfeignBoot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(OpenfeignBoot.class,args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-openfeign/springboot-openfeign-client/src/main/java/cn/itbeien/openfeign/feign/vo/UserRequest.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.openfeign.feign.vo; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author itbeien 7 | * 项目网站:https://www.itbeien.cn 8 | * 公众号:贝恩聊架构 9 | * 全网同名,欢迎小伙伴们关注 10 | * Java/AI学习社群 11 | * Copyright© 2025 itbeien 12 | */ 13 | @Data 14 | public class UserRequest { 15 | 16 | private String name; 17 | private Integer gender; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-openfeign/springboot-openfeign-client/src/main/java/cn/itbeien/openfeign/feign/vo/UserResponse.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.openfeign.feign.vo; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author itbeien 7 | * 项目网站:https://www.itbeien.cn 8 | * 公众号:贝恩聊架构 9 | * 全网同名,欢迎小伙伴们关注 10 | * Java/AI学习社群 11 | * Copyright© 2025 itbeien 12 | */ 13 | @Data 14 | public class UserResponse { 15 | 16 | private Integer id; 17 | private String name; 18 | private Integer gender; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-openfeign/springboot-openfeign-client/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | api.serviceUrl=http://127.0.0.1:9090 -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-openfeign/springboot-openfeign-service/src/main/java/cn/itbeien/openfeign/service/ServiceBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.openfeign.service; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class ServiceBoot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(ServiceBoot.class,args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-openfeign/springboot-openfeign-service/src/main/java/cn/itbeien/openfeign/service/vo/UserResponse.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.openfeign.service.vo; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author itbeien 7 | * 项目网站:https://www.itbeien.cn 8 | * 公众号:贝恩聊架构 9 | * 全网同名,欢迎小伙伴们关注 10 | * Java/AI学习社群 11 | * Copyright© 2025 itbeien 12 | */ 13 | @Data 14 | public class UserResponse { 15 | 16 | private Integer id; 17 | private String name; 18 | private Integer gender; 19 | 20 | 21 | } 22 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-openfeign/springboot-openfeign-service/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-quartz-db/src/main/java/cn/itbeien/quartz/DBQuartzBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.quartz; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2025 itbeien 12 | */ 13 | @SpringBootApplication 14 | public class DBQuartzBoot { 15 | public static void main(String[] args) { 16 | SpringApplication.run(DBQuartzBoot.class, args); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-quartz-db/src/main/java/cn/itbeien/quartz/component/AgentJob.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.quartz.component; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.springframework.stereotype.Component; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2025 itbeien 12 | */ 13 | @Component 14 | @Slf4j 15 | public class AgentJob implements JobService{ 16 | @Override 17 | public void run(String params) { 18 | log.info(" ======== agent-job-params:{} ========",params); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-quartz-db/src/main/java/cn/itbeien/quartz/component/JobService.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.quartz.component; 2 | 3 | /** 4 | * @author itbeien 5 | * 项目网站:https://www.itbeien.cn 6 | * 公众号:贝恩聊架构 7 | * 全网同名,欢迎小伙伴们关注 8 | * Copyright© 2025 itbeien 9 | */ 10 | public interface JobService { 11 | 12 | void run(String params); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-quartz-db/src/main/java/cn/itbeien/quartz/component/MerchantJob.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.quartz.component; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.springframework.stereotype.Component; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2025 itbeien 12 | */ 13 | @Component 14 | @Slf4j 15 | public class MerchantJob implements JobService{ 16 | @Override 17 | public void run(String params) { 18 | log.info(" ======== merchant-job-params:{} ========",params); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-quartz-db/src/main/java/cn/itbeien/quartz/enums/JobStatus.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.quartz.enums; 2 | 3 | /** 4 | * @author itbeien 5 | * 项目网站:https://www.itbeien.cn 6 | * 公众号:贝恩聊架构 7 | * 全网同名,欢迎小伙伴们关注 8 | * Copyright© 2025 itbeien 9 | */ 10 | public enum JobStatus { 11 | 12 | JOB_RUN(1, "运行"), 13 | JOB_STOP(2, "暂停"), 14 | JOB_DEL(3, "删除"); 15 | 16 | private int status; 17 | private String desc; 18 | 19 | JobStatus(int status, String desc) { 20 | this.status = status; 21 | this.desc = desc; 22 | } 23 | 24 | public int getStatus() { 25 | return status; 26 | } 27 | 28 | public String getDesc() { 29 | return desc; 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-quartz-db/src/main/java/cn/itbeien/quartz/enums/LogStatus.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.quartz.enums; 2 | 3 | /** 4 | * @author itbeien 5 | * 项目网站:https://www.itbeien.cn 6 | * 公众号:贝恩聊架构 7 | * 全网同名,欢迎小伙伴们关注 8 | * Copyright© 2025 itbeien 9 | */ 10 | public enum LogStatus { 11 | 12 | LOG_SUS(1, "成功"), 13 | LOG_FAIL(2, "失败"); 14 | 15 | private int status; 16 | private String desc; 17 | 18 | LogStatus(int status, String desc) { 19 | this.status = status; 20 | this.desc = desc; 21 | } 22 | 23 | public int getStatus() { 24 | return status; 25 | } 26 | 27 | public String getDesc() { 28 | return desc; 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-quartz-db/src/main/java/cn/itbeien/quartz/mapper/QuartzJobMapper.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.quartz.mapper; 2 | 3 | import cn.itbeien.quartz.entity.QuartzJob; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | import org.apache.ibatis.annotations.Mapper; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * Copyright© 2025 itbeien 13 | */ 14 | @Mapper 15 | public interface QuartzJobMapper extends BaseMapper { 16 | 17 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-quartz-db/src/main/java/cn/itbeien/quartz/mapper/QuartzLogMapper.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.quartz.mapper; 2 | 3 | import cn.itbeien.quartz.entity.QuartzLog; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | import org.apache.ibatis.annotations.Mapper; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * Copyright© 2025 itbeien 13 | */ 14 | @Mapper 15 | public interface QuartzLogMapper extends BaseMapper { 16 | 17 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-quartz-db/src/main/java/cn/itbeien/quartz/service/QuartzLogService.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.quartz.service; 2 | 3 | 4 | import cn.itbeien.quartz.entity.QuartzLog; 5 | import cn.itbeien.quartz.mapper.QuartzLogMapper; 6 | import jakarta.annotation.Resource; 7 | import org.springframework.stereotype.Service; 8 | 9 | /** 10 | * @author itbeien 11 | * 项目网站:https://www.itbeien.cn 12 | * 公众号:贝恩聊架构 13 | * 全网同名,欢迎小伙伴们关注 14 | * Copyright© 2025 itbeien 15 | */ 16 | @Service 17 | public class QuartzLogService { 18 | 19 | @Resource 20 | private QuartzLogMapper quartzLogMapper ; 21 | 22 | public Integer insert(QuartzLog quartzLog) { 23 | return quartzLogMapper.insert(quartzLog); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-quartz-db/src/main/resources/mapper/QuartzJobMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-quartz-db/src/main/resources/mapper/QuartzLogMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-quartz/src/main/java/cn/itbeien/quartz/QuartzBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.quartz; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2025 itbeien 12 | */ 13 | @SpringBootApplication 14 | public class QuartzBoot { 15 | public static void main(String[] args) { 16 | SpringApplication.run(QuartzBoot.class, args); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-quartz/src/main/java/cn/itbeien/quartz/job/ReportJob.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.quartz.job; 2 | 3 | import org.quartz.Job; 4 | import org.quartz.JobExecutionContext; 5 | import lombok.extern.slf4j.Slf4j; 6 | import org.quartz.JobExecutionException; 7 | import org.springframework.stereotype.Component; 8 | 9 | /** 10 | * @author itbeien 11 | * 项目网站:https://www.itbeien.cn 12 | * 公众号:贝恩聊架构 13 | * 全网同名,欢迎小伙伴们关注 14 | * Copyright© 2025 itbeien 15 | */ 16 | @Component 17 | @Slf4j 18 | public class ReportJob implements Job { 19 | 20 | @Override 21 | public void execute(JobExecutionContext context) throws JobExecutionException { 22 | log.info("process ReportJob: " + context.getFireTime()); 23 | } 24 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-quartz/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.application.name=sq 2 | # 定时任务配置,定时任务存储类型为内存存储 3 | spring.quartz.job-store-type=memory 4 | # 线程池配置 配置线程池线程数为 5 5 | spring.quartz.properties.org.quartz.threadPool.threadCount=5 6 | # 设置作业存储 错过触发阈值为 60000 毫秒(1分钟) 7 | spring.quartz.properties.org.quartz.jobStore.misfireThreshold=60000 -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-rabbitmq/src/main/java/cn/itbeien/rabbitmq/RabbitMQApp.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.rabbitmq; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2024 itbeien 12 | */ 13 | @SpringBootApplication 14 | public class RabbitMQApp { 15 | public static void main(String[] args) { 16 | SpringApplication.run(RabbitMQApp.class,args); 17 | } 18 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-rabbitmq/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.rabbitmq.host=localhost 2 | spring.rabbitmq.port=5672 3 | spring.rabbitmq.username=guest 4 | spring.rabbitmq.password=guest -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-redisson/README.md: -------------------------------------------------------------------------------- 1 | [05SpringBoot3.4.0整合Redisson实现分布式锁](https://www.itbeien.cn/tech/SpringBoot3/05SpringBoot3.4.0%E6%95%B4%E5%90%88Redisson%E5%AE%9E%E7%8E%B0%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81.html) -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-redisson/src/main/java/cn/itbeien/redisson/RedissonApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.redisson; 2 | 3 | import org.databene.contiperf.junit.ContiPerfRule; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | 8 | /** 9 | * @author itbeien 10 | * 项目网站:https://www.itbeien.cn 11 | * 公众号:贝恩聊架构 12 | * 全网同名,欢迎小伙伴们关注 13 | * Copyright© 2024 itbeien 14 | */ 15 | @SpringBootApplication 16 | public class RedissonApplication { 17 | 18 | public static void main(String[] args) { 19 | SpringApplication.run(RedissonApplication.class,args); 20 | } 21 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-redisson/src/main/java/cn/itbeien/redisson/config/RedissonProperties.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.redisson.config; 2 | 3 | import lombok.Data; 4 | import org.springframework.beans.factory.annotation.Value; 5 | import org.springframework.boot.context.properties.ConfigurationProperties; 6 | import org.springframework.stereotype.Component; 7 | 8 | 9 | /** 10 | * @author itbeien 11 | * 项目网站:https://www.itbeien.cn 12 | * 公众号:贝恩聊架构 13 | * 全网同名,欢迎小伙伴们关注 14 | * Copyright© 2024 itbeien 15 | */ 16 | @ConfigurationProperties(prefix = "spring.redis.redisson") 17 | @Data 18 | @Component 19 | public class RedissonProperties { 20 | private String config; 21 | 22 | private String file; 23 | 24 | } 25 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-redisson/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | # 在 application.yml 文件中,配置 Redis 的连接信息,该配置以单机版 Redis 为例。config: 后面跟着一个管道符 (|),表示一个多行字符串,也就是一个整体 2 | server: 3 | port: 1002 4 | 5 | spring: 6 | redis: 7 | redisson: 8 | config: | 9 | singleServerConfig: 10 | address: redis://192.168.0.104:6379 # Redis 连接地址,前缀为 redis:// 11 | password: Rootpwd20240809 # 如果 Redis 需要密码认证,则填写密码 12 | timeout: 3000 # 命令执行超时时间(毫秒) 13 | 14 | #spring: 15 | # redis: 16 | # redisson: 17 | # config: | 18 | # clusterServersConfig: 19 | # password: 20 | # nodeAddresses: 21 | # - redis://192.168.0.111:6379 22 | # - redis://192.168.0.115:6379 23 | # - redis://192.168.0.116:6379 -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-resilience4j/springboot-resilience4j-client/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | resilience4j.circuitbreaker.instances.myCircuitBreaker.slidingWindowSize=10 2 | resilience4j.circuitbreaker.instances.myCircuitBreaker.minimumNumberOfCalls=5 3 | resilience4j.circuitbreaker.instances.myCircuitBreaker.permittedNumberOfCallsInHalfOpenState=3 4 | resilience4j.circuitbreaker.instances.myCircuitBreaker.waitDurationInOpenState=10s 5 | resilience4j.circuitbreaker.instances.myCircuitBreaker.failureRateThreshold=50 6 | resilience4j.circuitbreaker.instances.myCircuitBreaker.eventConsumerBufferSize=10 7 | resilience4j.circuitbreaker.instances.myCircuitBreaker.recordExceptions[0]=java.lang.RuntimeException -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-resilience4j/springboot-resilience4j-server/src/main/java/cn/itbeien/resilience4j/Resilience4jBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.resilience4j; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class Resilience4jBoot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(Resilience4jBoot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-resilience4j/springboot-resilience4j-server/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-rocketmq/README.md: -------------------------------------------------------------------------------- 1 | [04RocketMQ5.3.1集成SpringBoot3.4.0就这样简单](https://www.itbeien.cn/tech/SpringBoot3/04RocketMQ5.3.1%E9%9B%86%E6%88%90SpringBoot3.4.0%E5%B0%B1%E8%BF%99%E6%A0%B7%E7%AE%80%E5%8D%95.html) -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-rocketmq/src/main/java/cn/itbeien/rocketmq/RocketMQApplication.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.rocketmq; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2024 itbeien 12 | */ 13 | @SpringBootApplication 14 | public class RocketMQApplication { 15 | public static void main(String[] args) { 16 | SpringApplication.run(RocketMQApplication.class,args); 17 | } 18 | } -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-rocketmq/src/main/java/cn/itbeien/rocketmq/vo/MessageVO.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.rocketmq.vo; 2 | 3 | import lombok.Data; 4 | 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2024 itbeien 12 | */ 13 | @Data 14 | public class MessageVO { 15 | private Integer id; 16 | private String msg; 17 | 18 | public MessageVO(Integer id,String msg){ 19 | this.id = id; 20 | this.msg = msg; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-rocketmq/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=1010 2 | 3 | rocketmq.name-server=127.0.0.1:9876 4 | rocketmq.producer.group=itbeien_group_1 5 | rocketmq.producer.send-message-timeout=3000 6 | rocketmq.producer.max-message-size=4096 7 | rocketmq.producer.retry-times-when-send-failed=3 8 | rocketmq.producer.retry-times-when-send-async-failed=2 9 | rocketmq.consumer.group=itbeien_group_1 10 | rocketmq.consumer.pull-batch-size=5 -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springdoc2/src/main/java/cn/itbeien/springdoc/SpringDocBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.springdoc; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class SpringDocBoot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(SpringDocBoot.class,args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springdoc2/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | springdoc.api-docs.path=/v3/api-docs 2 | springdoc.swagger-ui.path=/swagger-ui.html -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-jwt/src/main/java/cn/itbeien/security/jwt/JwtBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.security.jwt; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2025 itbeien 12 | */ 13 | @SpringBootApplication 14 | public class JwtBoot { 15 | public static void main(String[] args) { 16 | SpringApplication.run(JwtBoot.class, args); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-jwt/src/main/java/cn/itbeien/security/jwt/config/IgnoreUrlsConfig.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.security.jwt.config; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import org.springframework.boot.context.properties.ConfigurationProperties; 6 | import org.springframework.stereotype.Component; 7 | 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | 11 | /** 12 | * @author itbeien 13 | * 项目网站:https://www.itbeien.cn 14 | * 公众号:贝恩聊架构 15 | * 全网同名,欢迎小伙伴们关注 16 | * Copyright© 2025 itbeien 17 | */ 18 | @Getter 19 | @Setter 20 | @ConfigurationProperties(prefix = "secure.ignored") 21 | @Component 22 | public class IgnoreUrlsConfig { 23 | private List urls = new ArrayList<>(); 24 | } 25 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-jwt/src/main/java/cn/itbeien/security/jwt/dto/IErrorCode.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.security.jwt.dto; 2 | 3 | /** 4 | * @author itbeien 5 | * 项目网站:https://www.itbeien.cn 6 | * 公众号:贝恩聊架构 7 | * 全网同名,欢迎小伙伴们关注 8 | * Copyright© 2025 itbeien 9 | */ 10 | public interface IErrorCode { 11 | /** 12 | * 返回码 13 | */ 14 | long getCode(); 15 | 16 | /** 17 | * 返回信息 18 | */ 19 | String getMessage(); 20 | } 21 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-jwt/src/main/java/cn/itbeien/security/jwt/dto/SystemLoginParam.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.security.jwt.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import jakarta.validation.constraints.NotEmpty; 5 | import lombok.Data; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * Copyright© 2025 itbeien 13 | */ 14 | @Data 15 | public class SystemLoginParam { 16 | @NotEmpty 17 | @Schema(title = "用户名",requiredMode = Schema.RequiredMode.REQUIRED) 18 | private String username; 19 | @NotEmpty 20 | @Schema(title = "密码",requiredMode = Schema.RequiredMode.REQUIRED) 21 | private String password; 22 | } 23 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-jwt/src/main/java/cn/itbeien/security/jwt/entity/SysResource.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.security.jwt.entity; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | import java.util.Date; 7 | 8 | @Data 9 | public class SysResource implements Serializable { 10 | private Long id; 11 | 12 | private Date createTime; 13 | 14 | private String name; 15 | 16 | private String url; 17 | 18 | private String description; 19 | } 20 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-jwt/src/main/java/cn/itbeien/security/jwt/entity/SysUser.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.security.jwt.entity; 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType; 4 | import com.baomidou.mybatisplus.annotation.TableField; 5 | import com.baomidou.mybatisplus.annotation.TableId; 6 | import lombok.Data; 7 | 8 | /** 9 | * @author itbeien 10 | * 项目网站:https://www.itbeien.cn 11 | * 公众号:贝恩聊架构 12 | * 全网同名,欢迎小伙伴们关注 13 | * Copyright© 2025 itbeien 14 | */ 15 | @Data 16 | public class SysUser { 17 | @TableId(value = "id", type = IdType.AUTO) 18 | private Integer id; 19 | @TableField("user_name") 20 | private String username; 21 | private String password; 22 | } 23 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-jwt/src/main/java/cn/itbeien/security/jwt/exception/BusinessException.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.security.jwt.exception; 2 | 3 | /** 4 | * @author itbeien 5 | * 项目网站:https://www.itbeien.cn 6 | * 公众号:贝恩聊架构 7 | * 全网同名,欢迎小伙伴们关注 8 | * Copyright© 2025 itbeien 9 | */ 10 | public class BusinessException extends RuntimeException { 11 | 12 | 13 | public BusinessException(String message) { 14 | super(message); 15 | } 16 | 17 | public BusinessException(Throwable cause) { 18 | super(cause); 19 | } 20 | 21 | public BusinessException(String message, Throwable cause) { 22 | super(message, cause); 23 | } 24 | 25 | } 26 | 27 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-jwt/src/main/java/cn/itbeien/security/jwt/mapper/SysUserMapper.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.security.jwt.mapper; 2 | 3 | import cn.itbeien.security.jwt.entity.SysUser; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | import org.apache.ibatis.annotations.Mapper; 6 | 7 | @Mapper 8 | public interface SysUserMapper extends BaseMapper { 9 | } 10 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-jwt/src/main/java/cn/itbeien/security/jwt/util/Asserts.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.security.jwt.util; 2 | 3 | import cn.itbeien.security.jwt.exception.BusinessException; 4 | 5 | /** 6 | * @author itbeien 7 | * 项目网站:https://www.itbeien.cn 8 | * 公众号:贝恩聊架构 9 | * 全网同名,欢迎小伙伴们关注 10 | * Copyright© 2025 itbeien 11 | */ 12 | public class Asserts { 13 | public static void fail(String message) { 14 | throw new BusinessException(message); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-jwt/src/main/resources/mapper/SysUserMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-memory/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | cn.itbeien 8 | springboot-springsecurity 9 | 1.0-SNAPSHOT 10 | 11 | 12 | springsecurity-memory 13 | 14 | 15 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-memory/src/main/java/cn/itbeien/springsecurity/MemoryBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.springsecurity; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2024 itbeien 12 | */ 13 | @SpringBootApplication 14 | public class MemoryBoot { 15 | public static void main(String[] args) { 16 | SpringApplication.run(MemoryBoot.class,args); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-memory/src/main/java/cn/itbeien/springsecurity/controller/SystemController.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.springsecurity.controller; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.web.bind.annotation.GetMapping; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2024 itbeien 12 | */ 13 | @Controller 14 | public class SystemController { 15 | @GetMapping("/") 16 | public String index(){ 17 | return "index"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-memory/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=8888 2 | server.servlet.context-path=/ss 3 | spring.security.user.name=admin 4 | spring.security.user.password=123456 -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-memory/src/main/resources/templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Spring Security安全认证! 4 | 5 | 6 |

Spring Security安全认证

7 | Log Out 8 | 9 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-mysql8.4.3/src/main/java/cn/itbeien/springsecurity/MySQLBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.springsecurity; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2025 itbeien 12 | */ 13 | @SpringBootApplication 14 | public class MySQLBoot { 15 | public static void main(String[] args) { 16 | SpringApplication.run(MySQLBoot.class,args); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-mysql8.4.3/src/main/java/cn/itbeien/springsecurity/controller/SystemController.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.springsecurity.controller; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.web.bind.annotation.GetMapping; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2025 itbeien 12 | */ 13 | @Controller 14 | public class SystemController { 15 | @GetMapping("/") 16 | public String index(){ 17 | return "index"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-mysql8.4.3/src/main/java/cn/itbeien/springsecurity/entity/SysUser.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.springsecurity.entity; 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType; 4 | import com.baomidou.mybatisplus.annotation.TableField; 5 | import com.baomidou.mybatisplus.annotation.TableId; 6 | import lombok.Data; 7 | 8 | @Data 9 | public class SysUser { 10 | @TableId(value = "id", type = IdType.AUTO) 11 | private Integer id; 12 | @TableField("user_name") 13 | private String username; 14 | private String password; 15 | } 16 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-mysql8.4.3/src/main/java/cn/itbeien/springsecurity/mapper/SysUserMapper.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.springsecurity.mapper; 2 | 3 | import cn.itbeien.springsecurity.entity.SysUser; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | import org.apache.ibatis.annotations.Mapper; 6 | 7 | @Mapper 8 | public interface SysUserMapper extends BaseMapper { 9 | } 10 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-mysql8.4.3/src/main/java/cn/itbeien/springsecurity/service/SysUserService.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.springsecurity.service; 2 | 3 | import cn.itbeien.springsecurity.entity.SysUser; 4 | import com.baomidou.mybatisplus.extension.service.IService; 5 | 6 | public interface SysUserService extends IService { 7 | void saveSysUser(SysUser sysUser); 8 | } 9 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-mysql8.4.3/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=8888 2 | server.servlet.context-path=/ss 3 | spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver 4 | spring.datasource.url=jdbc:mysql://192.168.0.105:3306/ss 5 | spring.datasource.username=root 6 | spring.datasource.password=rootpwd20241215 7 | spring.sql.init.schema-locations=classpath:db/table-mysql.sql 8 | spring.sql.init.data-locations=classpath:db/data-mysql.sql 9 | spring.sql.init.mode=always 10 | logging.level.cn.itbeien.mybatis.plus=debug -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-mysql8.4.3/src/main/resources/db/data-mysql.sql: -------------------------------------------------------------------------------- 1 | DELETE FROM sys_user; 2 | 3 | INSERT INTO `sys_user` (`user_name`, `password`) VALUES ('itbeien', '{bcrypt}$2a$10$wPk8oL1SONvc90d5dB.whew4TqzEs6zzmmgmCV7e5DRt.wXW1WxgG'); 4 | INSERT INTO `sys_user` (`user_name`, `password`) VALUES ('itdatong', '{bcrypt}$2a$10$syDjRnXAPOmNE5eqWFwjDeXDqpOUKr.JYNeK8fYQpbOqJOlWpyZEe'); 5 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-mysql8.4.3/src/main/resources/db/table-mysql.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS sys_user; 2 | -- 创建用户表 3 | CREATE TABLE `sys_user` 4 | ( 5 | `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 6 | `user_name` VARCHAR(50) NOT NULL, 7 | `password` VARCHAR(500) NOT NULL 8 | ); 9 | 10 | -- 创建唯一索引 11 | create unique index `user_name_index` on sys_user (`user_name`); -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-mysql8.4.3/src/main/resources/mapper/SysUserMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-mysql8.4.3/src/main/resources/templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Spring Security安全认证! 4 | 5 | 6 |

Spring Security安全认证

7 | Log Out 8 | 9 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-oauth2/springsecurity-oauth2-github/src/main/java/cn/itbeien/security/oauth2/OAuth2Boot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.security.oauth2; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2025 itbeien 12 | */ 13 | @SpringBootApplication 14 | public class OAuth2Boot { 15 | public static void main(String[] args) { 16 | SpringApplication.run(OAuth2Boot.class,args); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-oauth2/springsecurity-oauth2-github/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.servlet.context-path=/itbeien 2 | spring.security.oauth2.client.registration.github.client-id= 3 | spring.security.oauth2.client.registration.github.client-secret= -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-simple/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | cn.itbeien 8 | springboot-springsecurity 9 | 1.0-SNAPSHOT 10 | 11 | 12 | springsecurity-simple 13 | 14 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-simple/src/main/java/cn/itbeien/springsecurity/SimpleBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.springsecurity; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2024 itbeien 12 | */ 13 | @SpringBootApplication 14 | public class SimpleBoot { 15 | public static void main(String[] args) { 16 | SpringApplication.run(SimpleBoot.class,args); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-simple/src/main/java/cn/itbeien/springsecurity/controller/SystemController.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.springsecurity.controller; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.web.bind.annotation.GetMapping; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Copyright© 2024 itbeien 12 | */ 13 | @Controller 14 | public class SystemController { 15 | @GetMapping("/") 16 | public String index(){ 17 | return "index"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-simple/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=8888 2 | server.servlet.context-path=/ss -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-springsecurity/springsecurity-simple/src/main/resources/templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Spring Security安全认证! 4 | 5 | 6 |

Spring Security安全认证

7 | Log Out 8 | 9 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-sse/src/main/java/cn/itbeien/sse/SSEBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.sse; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class SSEBoot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(SSEBoot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-webflux/src/main/java/cn/itbeien/webflux/WebFluxBoot.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.webflux; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @SpringBootApplication 15 | public class WebFluxBoot { 16 | public static void main(String[] args) { 17 | SpringApplication.run(WebFluxBoot.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /springboot3-labs-master/springboot-webflux/src/main/java/cn/itbeien/webflux/controller/WebFluxController.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.webflux.controller; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | import reactor.core.publisher.Mono; 6 | 7 | /** 8 | * @author itbeien 9 | * 项目网站:https://www.itbeien.cn 10 | * 公众号:贝恩聊架构 11 | * 全网同名,欢迎小伙伴们关注 12 | * Java/AI学习社群 13 | * Copyright© 2025 itbeien 14 | */ 15 | @RestController 16 | public class WebFluxController { 17 | @GetMapping("/hello") 18 | public Mono hello() { 19 | return Mono.just("Welcome to reactive world ~"); 20 | }} 21 | -------------------------------------------------------------------------------- /springframework-reading/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | !**/src/main/**/target/ 4 | !**/src/test/**/target/ 5 | 6 | ### IntelliJ IDEA ### 7 | .idea/modules.xml 8 | .idea/jarRepositories.xml 9 | .idea/compiler.xml 10 | .idea/libraries/ 11 | *.iws 12 | *.iml 13 | *.ipr 14 | 15 | ### Eclipse ### 16 | .apt_generated 17 | .classpath 18 | .factorypath 19 | .project 20 | .settings 21 | .springBeans 22 | .sts4-cache 23 | 24 | ### NetBeans ### 25 | /nbproject/private/ 26 | /nbbuild/ 27 | /dist/ 28 | /nbdist/ 29 | /.nb-gradle/ 30 | build/ 31 | !**/src/main/**/build/ 32 | !**/src/test/**/build/ 33 | 34 | ### VS Code ### 35 | .vscode/ 36 | 37 | ### Mac OS ### 38 | .DS_Store -------------------------------------------------------------------------------- /springframework-reading/springframework-core/src/main/java/cn/itbeien/springframework/config/AppConfig.java: -------------------------------------------------------------------------------- 1 | package cn.itbeien.springframework.config; 2 | 3 | import org.springframework.context.annotation.ComponentScan; 4 | import org.springframework.context.annotation.Configuration; 5 | 6 | /** 7 | * @author itbeien 8 | * 项目网站:https://www.itbeien.cn 9 | * 公众号:贝恩聊架构 10 | * 全网同名,欢迎小伙伴们关注 11 | * Java/AI/支付系统/SAAS多租户基础技术平台学习社群 12 | * Copyright© 2025 itbeien 13 | */ 14 | @Configuration 15 | @ComponentScan("cn.itbeien.springframework.service") 16 | public class AppConfig { 17 | } 18 | -------------------------------------------------------------------------------- /springframework-reading/springframework-core/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=8080 2 | spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name 3 | spring.datasource.username=your_username 4 | spring.datasource.password=your_password --------------------------------------------------------------------------------