springbootAI 2.2.3__tar.gz → 2.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {springbootai-2.2.3 → springbootai-2.2.4}/CHANGELOG.md +10 -2
- {springbootai-2.2.3/springbootAI.egg-info → springbootai-2.2.4}/PKG-INFO +1 -1
- {springbootai-2.2.3 → springbootai-2.2.4}/pyproject.toml +1 -1
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/ddl_auto.py +7 -7
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/version.py +1 -1
- {springbootai-2.2.3 → springbootai-2.2.4/springbootAI.egg-info}/PKG-INFO +1 -1
- {springbootai-2.2.3 → springbootai-2.2.4}/LICENSE +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/MANIFEST.in +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/README.md +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/SECURITY.md +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/requirements-ai.txt +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/requirements-langgraph.txt +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/requirements-mcp.txt +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/requirements.txt +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/setup.cfg +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/setup.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/ai/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/ai/advisors.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/ai/annotations.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/ai/autoconfig.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/ai/core.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/ai/etl.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/ai/memory.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/ai/observability.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/ai/providers.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/ai/resilience.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/ai/tools.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/ai/vectorstore.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/annotations/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/annotations/cache.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/annotations/cloud.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/annotations/conditional.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/annotations/core.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/annotations/langchain.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/annotations/langgraph.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/annotations/messaging.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/aop/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/aop/aspect.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/aop/cloud_aop.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/aop/comprehensive_aop.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/aop/method_interceptor.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/aop/proxy_factory.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/cloud/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/cloud/discovery.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/cloud/feign.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/cloud/gateway.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/cloud/load_balancer.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/cloud/seata.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/cloud/seata_bridge.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/cloud/sentinel.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/cloud/tracer.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/cloud/transaction_store.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/config/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/config/binding.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/config/config_loader.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/context/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/context/application_context.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/context/bean_definition.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/context/bean_factory.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/context/registry.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/context/scanner.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/core/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/core/graceful_shutdown.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/core/typing_utils.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/csv/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/csv/annotations.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/csv/converters.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/csv/easy_csv.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/csv/exceptions.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/csv/reader.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/csv/writer.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/data/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/data/page.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/data/repository.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/data/specification.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/datasource/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/datasource/annotations.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/datasource/context.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/datasource/dynamic.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/event/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/event/publisher.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/excel/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/excel/annotations.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/excel/converters.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/excel/easy_excel.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/excel/exceptions.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/excel/reader.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/excel/style.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/excel/writer.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/i18n/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/i18n/accessor.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/i18n/auto_config.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/i18n/holder.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/i18n/locale.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/i18n/locale_resolver.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/i18n/message_source.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/i18n/middleware.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/i18n/properties.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/i18n/sources.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/adapters.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/agents/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/agents/services.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/annotations.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/autoconfig.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/callbacks/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/callbacks/handlers.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/chains/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/chains/services.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/core.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/indexes/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/indexes/index.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/loaders/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/loaders/loaders.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/memory/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/memory/memory.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/parsers/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/parsers/parsers.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/partners.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/prompts/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/prompts/templates.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/retrievers/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/retrievers/retrievers.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/tools/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/tools/tools.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/utilities/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/utilities/utils.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/vectorstores/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langchain/vectorstores/stores.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langgraph/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langgraph/annotation_runtime.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langgraph/annotations.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langgraph/autoconfig.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langgraph/checkpoint.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langgraph/config.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/langgraph/runtime.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/logging/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/logging/loguru_logger.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/main.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/mcp/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/mcp/annotation_runtime.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/mcp/annotations.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/mcp/autoconfig.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/mcp/client.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/mcp/config.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/mcp/server.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/messaging/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/messaging/rabbitmq.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/monitoring/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/monitoring/prometheus.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/database.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/migration.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/mybatis_integration.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/annotations/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/annotations/annotations.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/cache/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/cache/cache.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/cache/redis_cache.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/circuit_breaker/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/circuit_breaker/circuit_breaker.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/configuration.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/core/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/core/sql_session.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/core/sql_session_factory.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/dialect/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/dialect/dialect.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/dynamic_sql/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/dynamic_sql/dynamic_sql.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/interceptor/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/interceptor/interceptor.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/mapper/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/mapper/mapper.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/metrics/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/metrics/metrics.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/pool/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/pool/connection_pool.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/security/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/security/access_control.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/security/password_encoder.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/security/sensitive_data_masker.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/security/sql_injection_detector.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/transaction/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/transaction/transaction.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/type_handler/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/type_handler/type_handler.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/xml_parser/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/xml_parser/xml_parser.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/retry/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/retry/recovery.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/retry/retry_annotations.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/retry/retry_decorator.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/scheduling/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/scheduling/scheduler.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/security/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/security/jwt_utils.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/security/replay_protection.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/security/secret_manager.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/security/security_aop.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/security/security_context.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/test/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/test/slicing.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/tracing/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/tracing/skywalking.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/tx/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/tx/events.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/tx/synchronization.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/utils/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/utils/banner.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/utils/bean_utils.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/utils/logger.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/utils/redis_client.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/validation/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/validation/aop.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/validation/constraints.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/validation/exceptions.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/validation/validator.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/web/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/web/actuator.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/web/exception_handler.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/web/health.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/web/interceptor.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/web/result.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/web/swagger.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/web/web_context.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/websocket/__init__.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/websocket/annotations.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/websocket/broker.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/websocket/exceptions.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/websocket/handler.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/websocket/router.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/spring/websocket/session.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/springbootAI.egg-info/SOURCES.txt +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/springbootAI.egg-info/dependency_links.txt +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/springbootAI.egg-info/entry_points.txt +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/springbootAI.egg-info/requires.txt +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/springbootAI.egg-info/top_level.txt +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/sql/seata_undo_log.sql +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_actuator.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_ai_comprehensive.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_ai_declarative_annotations.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_ai_module.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_annotation_combinations.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_annotations_contract.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_aop_annotations_full.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_audit_time.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_bean_utils.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_cache_annotations.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_cloud_embedded_full.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_component_init_error.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_conditional_annotations.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_config_binding.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_config_fixes_185.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_connection_resilience.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_core_annotations_full.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_csv_module.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_data_repository.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_datasource_routing.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_ddl_auto.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_declarative_aop_post_authorize_recover.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_di_config_event_full.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_excel_module.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_i18n_module.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_jpa_version_transient.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_langchain_comprehensive.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_langchain_ext.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_langchain_module.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_langgraph_comprehensive.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_langgraph_module.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_logging_config.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_mcp_module.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_new_features.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_orm_pymybatis_full.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_production_readiness.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_pymybatis_contract.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_seata_bridge.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_seata_durable_store.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_security.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_security_full.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_security_hardening.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_swagger_module.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_test_slicing.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_transactional_events.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_validation_module.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_web_annotations_full.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_web_root_mapping.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_web_static_files.py +0 -0
- {springbootai-2.2.3 → springbootai-2.2.4}/tests/test_websocket_module.py +0 -0
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.2.4] - 2026-08-13
|
|
4
|
+
|
|
5
|
+
### 完善
|
|
6
|
+
|
|
7
|
+
- 自动推断逻辑调整:无赋值的字段仅创建 `Column()` 记录类型,不设默认值;只有显式赋值才作为 `default`。
|
|
8
|
+
- `_parse_entity` 跳过以 `_` 开头的私有字段,不生成 DDL 列。
|
|
9
|
+
- 新增 `example_all/models/EntityModels.py` 实体示例和 `test_06_entity_jpa_style` 测试(4 项全通过)。
|
|
10
|
+
|
|
3
11
|
## [2.2.3] - 2026-08-13
|
|
4
12
|
|
|
5
13
|
### 新增
|
|
6
14
|
|
|
7
15
|
- ORM 实体字段自动推断:类型注解无需显式 `= Column(...)` 赋值,对齐 Java JPA 字段自动映射。
|
|
8
|
-
- `name: str` → 自动创建 `Column(
|
|
9
|
-
- `name: str = ""` → 自动创建 `Column(default="")
|
|
16
|
+
- `name: str` → 自动创建 `Column()`(无默认值,仅记录类型)
|
|
17
|
+
- `name: str = ""` → 自动创建 `Column(default="")`(赋值即为默认值)
|
|
10
18
|
- `name: int = 0` → 自动创建 `Column(default=0)`
|
|
11
19
|
- 已有 `Column()`/`Id()`/`CreateTime()` 等描述符的字段保留不覆盖
|
|
12
20
|
- 以 `_` 开头的私有字段自动跳过
|
|
@@ -12,7 +12,7 @@ build-backend = "setuptools.build_meta"
|
|
|
12
12
|
[project]
|
|
13
13
|
# 发行名 springbootAI(PyPI 包名,pip install springbootAI);导入包名仍为 spring
|
|
14
14
|
name = "springbootAI"
|
|
15
|
-
version = "2.2.
|
|
15
|
+
version = "2.2.4"
|
|
16
16
|
description = "Spring-style Python framework with Web, ORM, Cloud and AI integrations"
|
|
17
17
|
readme = "README.md"
|
|
18
18
|
license = "MIT"
|
|
@@ -1091,8 +1091,8 @@ def _auto_infer_columns(cls):
|
|
|
1091
1091
|
无需显式 ``= Column(...)`` 赋值。
|
|
1092
1092
|
|
|
1093
1093
|
推断规则:
|
|
1094
|
-
- ``name: str`` → ``Column(
|
|
1095
|
-
- ``name: str = ""`` → ``Column(default="")
|
|
1094
|
+
- ``name: str`` → ``Column()``(无默认值,仅记录类型)
|
|
1095
|
+
- ``name: str = ""`` → ``Column(default="")``(赋值即为默认值)
|
|
1096
1096
|
- ``name: int = 0`` → ``Column(default=0)``
|
|
1097
1097
|
- ``name: str = Column(...)`` → 保留原 Column,不覆盖
|
|
1098
1098
|
- ``name: int = Id()`` → 保留原 Id,不覆盖
|
|
@@ -1130,14 +1130,14 @@ def _auto_infer_columns(cls):
|
|
|
1130
1130
|
if isinstance(existing, Transient):
|
|
1131
1131
|
continue
|
|
1132
1132
|
|
|
1133
|
-
#
|
|
1134
|
-
default_val = None
|
|
1133
|
+
# 只有显式赋值才给默认值;无赋值则仅创建 Column() 记录类型
|
|
1135
1134
|
if existing is not None and not callable(existing) \
|
|
1136
1135
|
and not isinstance(existing, (classmethod, staticmethod)):
|
|
1137
|
-
|
|
1136
|
+
col = Column(default=existing)
|
|
1137
|
+
else:
|
|
1138
|
+
col = Column()
|
|
1138
1139
|
|
|
1139
|
-
|
|
1140
|
-
setattr(cls, attr_name, Column(default=default_val))
|
|
1140
|
+
setattr(cls, attr_name, col)
|
|
1141
1141
|
|
|
1142
1142
|
|
|
1143
1143
|
def _auto_generate_init(cls):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/circuit_breaker/circuit_breaker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/security/sensitive_data_masker.py
RENAMED
|
File without changes
|
{springbootai-2.2.3 → springbootai-2.2.4}/spring/orm/pymybatis/security/sql_injection_detector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|