spring in action_4 资源整理

Spring Boot热部署实战:从DevTools到Jrebel的配置与原理详解 热部署与热加载是提升Java开发效率的核心技术,其本质是在应用运行时更新代码而无需重启。从原理上看,它们主要基于JVM的类加载机制,通过自定义类加载器或字节码增强技术实现类的动态替换。这项技术的核心价值在于极大缩短了“编码-验证”的反馈循环,将开发者从频繁重启的等待中解放出来,尤其适用于微服务架构下启动缓慢的大型项目。在Spring Boot开发中,热部署的典型应用场景包括快速迭代业务逻辑、调试API接口以及实时预览静态资源修改。本文聚焦于Spring Boot生态,深入解析了官方DevTools的快速重启 阅读详情

jar files来自于maven repository

http://mvnrepository.com/

除了28个列于gradle.properties,另外三个是在测试中缺失的,所有jar文件打包为zip文件供方便下载。

下载链接:

http://download.youkuaiyun.com/download/java_augur/10106263

chapter 10,11,12

分别要补充一些jar包,尤其是12,jar包的版本非常重要,经过测试一下jar包可以测试通过。运行chapter12测试用例时需要安装并启动Mongo DB

下载的路径是:

http://dl.mongodb.org/dl/win32/x86_64

persistenceapiVersion=1.0
javax.injectVersion=1
aopallianceVersion=1.0
dom4jVersion=1.6.1
hibernate-annotationsVersion=3.5.6-Final
hibernate-jpa-2.1-apiVersion=1.0.0.Final
hibernate-commons-annotationsVersion=4.0.1.Final
javassistVersion=3.12.1.GA
antlrVersion=2.7.7
spring-data-commons-1.10.2.RELEASE
spring-data-mongodb-1.7.0.RELEASE
mongo-java-driver-3.2.0
spring-data-neo4j-2.3.5.RELEASE
spring-data-hadoop-2.0.4.RELEASE

欢迎就本书提出问题,一起学习,一起探讨。

activeMQVersion=5.7.0
aspectJVersion=1.7.2
commonsLangVersion = 3.1
ehcacheVersion=2.7.4
ehcacheJCacheVersion=1.4.0-beta1
h2Version=1.4.182
hamcrestVersion = 1.3
hibernateVersion=4.1.6.Final
hibernateEntityManagerVersion=4.0.1.Final
hibernateValidatorVersion = 5.0.1.Final
jacksonVersion=2.4.3
javaxMailVersion=1.4.7
jspApiVersion = 2.1
jspElVersion = 2.2.4
jstlVersion = 1.2
junitVersion=4.11
log4jVersion=1.2.14
mockitoVersion=1.9.5
servletApiVersion = 3.1.0
slf4jVersion = 1.7.5
springAMQPVersion=1.0.0.RELEASE
springDataJpaVersion=1.3.2.RELEASE
springSecurityVersion = 3.2.0.RELEASE(core,web,config)
springVersion=4.0.7.RELEASE
springWebflowVersion=2.4.1.RELEASE
systemRulesVersion=1.5.0
thymeleafVersion = 2.1.3.RELEASE(core,extras,spring)
tilesVersion = 3.0.1
validationVersion=1.1.0.Final


apachecommonsloggingVersion=1.1.1
jbossloggingVersion=3.3.1.Final
classmateVersion=1.3.3

以下是chapter 9的执行日志

DEBUG: org.springframework.core.env.StandardEnvironment - Adding [systemProperties] PropertySource with lowest search precedence
DEBUG: org.springframework.core.env.StandardEnvironment - Adding [systemEnvironment] PropertySource with lowest search precedence
DEBUG: org.springframework.core.env.StandardEnvironment - Initialized StandardEnvironment with PropertySources [systemProperties,systemEnvironment]
DEBUG: org.springframework.core.io.support.PathMatchingResourcePatternResolver - Found Equinox FileLocator for OSGi bundle URL resolution
INFO : org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Mapped "{[/spittles],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.util.List<spittr.Spittle> spittr.web.SpittleController.spittles(long,int)
INFO : org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Mapped "{[/spittles],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String spittr.web.SpittleController.saveSpittle(spittr.web.SpittleForm,org.springframework.ui.Model) throws java.lang.Exception
INFO : org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Mapped "{[/spittles/{spittleId}],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String spittr.web.SpittleController.spittle(long,org.springframework.ui.Model)
DEBUG: org.jboss.logging - Logging Provider: org.jboss.logging.Log4jLoggerProvider
INFO : org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 5.0.1.Final
DEBUG: org.hibernate.validator.internal.engine.resolver.DefaultTraversableResolver - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
DEBUG: org.hibernate.validator.internal.engine.ConfigurationImpl - Setting custom MessageInterpolator of type org.springframework.validation.beanvalidation.LocaleContextMessageInterpolator
DEBUG: org.hibernate.validator.internal.engine.ConfigurationImpl - Setting custom ParameterNameProvider of type com.sun.proxy.$Proxy6
DEBUG: org.hibernate.validator.internal.xml.ValidationXmlParser - Trying to load META-INF/validation.xml for XML based Validator configuration.
DEBUG: org.hibernate.validator.internal.xml.ValidationXmlParser - No META-INF/validation.xml found. Using annotation based configuration only.
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Initializing servlet ''
INFO : org.springframework.mock.web.MockServletContext - Initializing Spring FrameworkServlet ''
INFO : org.springframework.test.web.servlet.TestDispatcherServlet - FrameworkServlet '': initialization started
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Unable to locate MultipartResolver with name 'multipartResolver': no multipart request handling provided
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Using LocaleResolver [org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver@548e6d58]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Using ThemeResolver [org.springframework.web.servlet.theme.FixedThemeResolver@623a8092]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Using RequestToViewNameTranslator [org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@a1cdc6d]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Using FlashMapManager [org.springframework.web.servlet.support.SessionFlashMapManager@175b9425]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Published WebApplicationContext of servlet '' as ServletContext attribute with name [org.springframework.web.servlet.FrameworkServlet.CONTEXT.]
INFO : org.springframework.test.web.servlet.TestDispatcherServlet - FrameworkServlet '': initialization completed in 2 ms
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Servlet '' configured successfully
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - DispatcherServlet with name '' processing POST request for [/spittles]
DEBUG: org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Looking up handler method for path /spittles
DEBUG: org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Returning handler method [public java.lang.String spittr.web.SpittleController.saveSpittle(spittr.web.SpittleForm,org.springframework.ui.Model) throws java.lang.Exception]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Rendering view [org.springframework.web.servlet.view.RedirectView: unnamed; URL [/spittles]] in DispatcherServlet with name ''
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Successfully completed request
DEBUG: org.springframework.core.env.StandardEnvironment - Adding [systemProperties] PropertySource with lowest search precedence
DEBUG: org.springframework.core.env.StandardEnvironment - Adding [systemEnvironment] PropertySource with lowest search precedence
DEBUG: org.springframework.core.env.StandardEnvironment - Initialized StandardEnvironment with PropertySources [systemProperties,systemEnvironment]
INFO : org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Mapped "{[/spittles],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.util.List<spittr.Spittle> spittr.web.SpittleController.spittles(long,int)
INFO : org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Mapped "{[/spittles],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String spittr.web.SpittleController.saveSpittle(spittr.web.SpittleForm,org.springframework.ui.Model) throws java.lang.Exception
INFO : org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Mapped "{[/spittles/{spittleId}],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String spittr.web.SpittleController.spittle(long,org.springframework.ui.Model)
DEBUG: org.hibernate.validator.internal.engine.resolver.DefaultTraversableResolver - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
DEBUG: org.hibernate.validator.internal.engine.ConfigurationImpl - Setting custom MessageInterpolator of type org.springframework.validation.beanvalidation.LocaleContextMessageInterpolator
DEBUG: org.hibernate.validator.internal.engine.ConfigurationImpl - Setting custom ParameterNameProvider of type com.sun.proxy.$Proxy6
DEBUG: org.hibernate.validator.internal.xml.ValidationXmlParser - Trying to load META-INF/validation.xml for XML based Validator configuration.
DEBUG: org.hibernate.validator.internal.xml.ValidationXmlParser - No META-INF/validation.xml found. Using annotation based configuration only.
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Initializing servlet ''
INFO : org.springframework.mock.web.MockServletContext - Initializing Spring FrameworkServlet ''
INFO : org.springframework.test.web.servlet.TestDispatcherServlet - FrameworkServlet '': initialization started
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Unable to locate MultipartResolver with name 'multipartResolver': no multipart request handling provided
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Using LocaleResolver [org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver@41a0aa7d]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Using ThemeResolver [org.springframework.web.servlet.theme.FixedThemeResolver@2794eab6]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Using RequestToViewNameTranslator [org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@6340e5f0]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Using FlashMapManager [org.springframework.web.servlet.support.SessionFlashMapManager@45099dd3]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Published WebApplicationContext of servlet '' as ServletContext attribute with name [org.springframework.web.servlet.FrameworkServlet.CONTEXT.]
INFO : org.springframework.test.web.servlet.TestDispatcherServlet - FrameworkServlet '': initialization completed in 0 ms
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Servlet '' configured successfully
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - DispatcherServlet with name '' processing GET request for [/spittles]
DEBUG: org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Looking up handler method for path /spittles
DEBUG: org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Returning handler method [public java.util.List<spittr.Spittle> spittr.web.SpittleController.spittles(long,int)]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Last-Modified value for [/spittles] is: -1
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Rendering view [org.springframework.web.servlet.view.InternalResourceView: unnamed; URL [/WEB-INF/views/spittles.jsp]] in DispatcherServlet with name ''
DEBUG: org.springframework.mock.web.MockRequestDispatcher - MockRequestDispatcher: forwarding to [/WEB-INF/views/spittles.jsp]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Successfully completed request
DEBUG: org.springframework.core.env.StandardEnvironment - Adding [systemProperties] PropertySource with lowest search precedence
DEBUG: org.springframework.core.env.StandardEnvironment - Adding [systemEnvironment] PropertySource with lowest search precedence
DEBUG: org.springframework.core.env.StandardEnvironment - Initialized StandardEnvironment with PropertySources [systemProperties,systemEnvironment]
INFO : org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Mapped "{[/spittles],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.util.List<spittr.Spittle> spittr.web.SpittleController.spittles(long,int)
INFO : org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Mapped "{[/spittles],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String spittr.web.SpittleController.saveSpittle(spittr.web.SpittleForm,org.springframework.ui.Model) throws java.lang.Exception
INFO : org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Mapped "{[/spittles/{spittleId}],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String spittr.web.SpittleController.spittle(long,org.springframework.ui.Model)
DEBUG: org.hibernate.validator.internal.engine.resolver.DefaultTraversableResolver - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
DEBUG: org.hibernate.validator.internal.engine.ConfigurationImpl - Setting custom MessageInterpolator of type org.springframework.validation.beanvalidation.LocaleContextMessageInterpolator
DEBUG: org.hibernate.validator.internal.engine.ConfigurationImpl - Setting custom ParameterNameProvider of type com.sun.proxy.$Proxy6
DEBUG: org.hibernate.validator.internal.xml.ValidationXmlParser - Trying to load META-INF/validation.xml for XML based Validator configuration.
DEBUG: org.hibernate.validator.internal.xml.ValidationXmlParser - No META-INF/validation.xml found. Using annotation based configuration only.
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Initializing servlet ''
INFO : org.springframework.mock.web.MockServletContext - Initializing Spring FrameworkServlet ''
INFO : org.springframework.test.web.servlet.TestDispatcherServlet - FrameworkServlet '': initialization started
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Unable to locate MultipartResolver with name 'multipartResolver': no multipart request handling provided
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Using LocaleResolver [org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver@cb0755b]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Using ThemeResolver [org.springframework.web.servlet.theme.FixedThemeResolver@33065d67]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Using RequestToViewNameTranslator [org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@712625fd]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Using FlashMapManager [org.springframework.web.servlet.support.SessionFlashMapManager@7bba5817]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Published WebApplicationContext of servlet '' as ServletContext attribute with name [org.springframework.web.servlet.FrameworkServlet.CONTEXT.]
INFO : org.springframework.test.web.servlet.TestDispatcherServlet - FrameworkServlet '': initialization completed in 0 ms
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Servlet '' configured successfully
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - DispatcherServlet with name '' processing GET request for [/spittles]
DEBUG: org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Looking up handler method for path /spittles
DEBUG: org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Returning handler method [public java.util.List<spittr.Spittle> spittr.web.SpittleController.spittles(long,int)]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Last-Modified value for [/spittles] is: -1
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Rendering view [org.springframework.web.servlet.view.InternalResourceView: unnamed; URL [/WEB-INF/views/spittles.jsp]] in DispatcherServlet with name ''
DEBUG: org.springframework.mock.web.MockRequestDispatcher - MockRequestDispatcher: forwarding to [/WEB-INF/views/spittles.jsp]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Successfully completed request
DEBUG: org.springframework.core.env.StandardEnvironment - Adding [systemProperties] PropertySource with lowest search precedence
DEBUG: org.springframework.core.env.StandardEnvironment - Adding [systemEnvironment] PropertySource with lowest search precedence
DEBUG: org.springframework.core.env.StandardEnvironment - Initialized StandardEnvironment with PropertySources [systemProperties,systemEnvironment]
INFO : org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Mapped "{[/spittles],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.util.List<spittr.Spittle> spittr.web.SpittleController.spittles(long,int)
INFO : org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Mapped "{[/spittles],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String spittr.web.SpittleController.saveSpittle(spittr.web.SpittleForm,org.springframework.ui.Model) throws java.lang.Exception
INFO : org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Mapped "{[/spittles/{spittleId}],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String spittr.web.SpittleController.spittle(long,org.springframework.ui.Model)
DEBUG: org.hibernate.validator.internal.engine.resolver.DefaultTraversableResolver - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
DEBUG: org.hibernate.validator.internal.engine.ConfigurationImpl - Setting custom MessageInterpolator of type org.springframework.validation.beanvalidation.LocaleContextMessageInterpolator
DEBUG: org.hibernate.validator.internal.engine.ConfigurationImpl - Setting custom ParameterNameProvider of type com.sun.proxy.$Proxy6
DEBUG: org.hibernate.validator.internal.xml.ValidationXmlParser - Trying to load META-INF/validation.xml for XML based Validator configuration.
DEBUG: org.hibernate.validator.internal.xml.ValidationXmlParser - No META-INF/validation.xml found. Using annotation based configuration only.
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Initializing servlet ''
INFO : org.springframework.mock.web.MockServletContext - Initializing Spring FrameworkServlet ''
INFO : org.springframework.test.web.servlet.TestDispatcherServlet - FrameworkServlet '': initialization started
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Unable to locate MultipartResolver with name 'multipartResolver': no multipart request handling provided
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Using LocaleResolver [org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver@909217e]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Using ThemeResolver [org.springframework.web.servlet.theme.FixedThemeResolver@18271936]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Using RequestToViewNameTranslator [org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@606e4010]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Using FlashMapManager [org.springframework.web.servlet.support.SessionFlashMapManager@8458f04]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Published WebApplicationContext of servlet '' as ServletContext attribute with name [org.springframework.web.servlet.FrameworkServlet.CONTEXT.]
INFO : org.springframework.test.web.servlet.TestDispatcherServlet - FrameworkServlet '': initialization completed in 1 ms
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Servlet '' configured successfully
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - DispatcherServlet with name '' processing GET request for [/spittles/12345]
DEBUG: org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Looking up handler method for path /spittles/12345
DEBUG: org.springframework.test.web.servlet.setup.StandaloneMockMvcBuilder$StaticRequestMappingHandlerMapping - Returning handler method [public java.lang.String spittr.web.SpittleController.spittle(long,org.springframework.ui.Model)]
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Last-Modified value for [/spittles/12345] is: -1
DEBUG: org.springframework.test.web.servlet.TestDispatcherServlet - Rendering view [org.springframework.web.servlet.view.JstlView: unnamed; URL [spittle]] in DispatcherServlet with name ''
DEBUG: org.springframework.mock.web.MockRequestDispatcher - MockRequestDispatcher: forwarding to [spittle]
DEBUG: org.springframework.test.web.serv

以下是chapter12的部分结尾日志,本来想替换掉chapter9的日志,因为编辑器里删除困难,所以保留了,深表歉意。

DEBUG: org.mongodb.driver.protocol.command - Sending command {find : BsonString{value='order'}} to database OrdersDB on connection [connectionId{localValue:2, serverValue:15}] to server 127.0.0.1:27017
DEBUG: org.mongodb.driver.protocol.command - Command execution completed
DEBUG: org.springframework.data.mongodb.core.MongoDbUtils - Getting Mongo Database name=[OrdersDB]
DEBUG: org.springframework.data.mongodb.core.MongoTemplate - Remove using query: { "_id" : { "$oid" : "5a02b3d3457e2e2cd42dee8d"}} in collection: order.
DEBUG: org.mongodb.driver.protocol.delete - Deleting documents from namespace OrdersDB.order on connection [connectionId{localValue:2, serverValue:15}] to server 127.0.0.1:27017
DEBUG: org.mongodb.driver.protocol.delete - Delete completed
DEBUG: org.springframework.data.mongodb.core.MongoDbUtils - Getting Mongo Database name=[OrdersDB]
DEBUG: org.mongodb.driver.protocol.command - Sending command {count : BsonString{value='order'}} to database OrdersDB on connection [connectionId{localValue:2, serverValue:15}] to server 127.0.0.1:27017
DEBUG: org.mongodb.driver.protocol.command - Command execution completed
DEBUG: org.springframework.test.context.support.DirtiesContextTestExecutionListener - After test method: context [DefaultTestContext@2cb4c3ab testClass = MongoDbTest, testInstance = orders.MongoDbTest@13c78c0b, testMethod = testMongoRepository@MongoDbTest, testException = [null], mergedContextConfiguration = [MergedContextConfiguration@12843fce testClass = MongoDbTest, locations = '{}', classes = '{class orders.config.MongoConfig}', contextInitializerClasses = '[]', activeProfiles = '{}', contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader', parent = [null]]], class dirties context [false], class mode [null], method dirties context [false].
DEBUG: org.springframework.test.context.support.DirtiesContextTestExecutionListener - After test class: context [DefaultTestContext@2cb4c3ab testClass = MongoDbTest, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [MergedContextConfiguration@12843fce testClass = MongoDbTest, locations = '{}', classes = '{class orders.config.MongoConfig}', contextInitializerClasses = '[]', activeProfiles = '{}', contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader', parent = [null]]], dirtiesContext [false].
INFO : org.springframework.context.support.GenericApplicationContext - Closing org.springframework.context.support.GenericApplicationContext@36d4b5c: startup date [Wed Nov 08 15:35:46 CST 2017]; root of context hierarchy
DEBUG: org.springframework.beans.factory.support.DefaultListableBeanFactory - Returning cached instance of singleton bean 'lifecycleProcessor'
DEBUG: org.springframework.beans.factory.support.DefaultListableBeanFactory - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@543c6f6d: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,mongoConfig,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor,org.springframework.context.annotation.ConfigurationClassPostProcessor.enhancedConfigurationProcessor,mongoDbFactory,mongoTemplate,customConversions,mappingMongoConverter,mongoMappingContext,isNewStrategyFactory,org.springframework.data.mongodb.repository.config.MongoRepositoryConfigurationExtension#0,org.springframework.data.repository.core.support.RepositoryInterfaceAwareBeanPostProcessor,orderRepository]; root of factory hierarchy
DEBUG: org.springframework.beans.factory.support.DefaultListableBeanFactory - Retrieved dependent beans for bean 'orderRepository': [orders.MongoDbTest]
DEBUG: org.springframework.beans.factory.support.DefaultListableBeanFactory - Retrieved dependent beans for bean '(inner bean)#5ef5c734': [orderRepository]
DEBUG: org.springframework.beans.factory.support.DefaultListableBeanFactory - Retrieved dependent beans for bean '(inner bean)#36b4091c': [(inner bean)#5ef5c734]
DEBUG: org.springframework.beans.factory.support.DisposableBeanAdapter - Invoking destroy() on bean with name 'mongoDbFactory'
DEBUG: org.springframework.beans.factory.support.DisposableBeanAdapter - Invoking destroy() on bean with name 'mongoConfig'


LLM作为语义中间件:Action/Domain/Workflow三角色企业集成架构 在企业级应用中,大语言模型(LLM)的核心价值并非替代现有系统,而是充当连接人与机器的‘语义中间件’——解决自然语言输入与结构化系统之间的语义鸿沟。其原理在于分层解耦:Action Agent将模糊指令映射为原子动作,Domain Agent统一跨系统术语与上下文,Workflow Router基于实时特征实现可解释流程路由。这种混合架构兼顾LLM的语言理解优势与规则系统的确定性、可审计性,显著降低AI落地风险。典型应用场景包括CRM非结构化工单解析、多系统客户ID对齐、动态SLA驱动的投诉升级决策等。本文 阅读详情

相关推荐

2026年Java技术面试高频500题精讲:并发、Spring与MyBatis

并发编程作为现代Java开发的核心技术,通过JMM内存模型和线程池机制实现高效资源管理,其happens-before原则和volatile关键字保障了多线程安全。Spring框架的IOC容器和AOP编程通过依赖注入和动态代理提升了系统解耦能力,三级缓存机制有效解决了循环依赖问题。MyBatis作为ORM框架,其动态SQL和插件体系显著提升了数据库操作灵活性。这些技术在电商秒杀、金融交易等高并发场景中具有重要应用价值。本文整理的500道大厂真题涵盖线程池配置优化、Spring事务传播等实战考点,帮助开发者系

weixin_34252090的博客 467

No META-INF/validation.xml found. Using annotation based configuration only

gt;([Ljava/lang/Object;)V at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:157) at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(Bootstra

weixin_43880379的博客 4676

DeepSeek V4预览版:1M上下文与Agentic Coding实战指南

大模型上下文长度已从资源限制演变为默认基础设施,其核心价值在于支撑真实工程场景中的长程理解与闭环决策。1M上下文并非单纯堆叠token,而是依托ALiBi位置偏置与分块KV压缩实现‘够用不掉帧’的响应体验;Agentic Coding则超越代码生成,体现为State-Action-Observation驱动的工具调用与自验证能力。这类技术显著提升后端重构、API文档补全、遗留系统治理等高复杂度任务的交付效率,尤其适用于需融合代码、日志、Schema与配置的混合语义分析场景。本文聚焦DeepSeek V4预览

chuanao8829的博客 343

springboot启动失败:Application failed to start with classpath

报错: 16:07:41.725 [restartedMain] DEBUG org.springframework.boot.context.logging.ClasspathLoggingApplicationListener - Application failed to start with classpath: [file:/D:/Downloads/DMS1.0/dms-eureka/target/classes/] 16:07:41.923 [background-preinit] DE.

藓类少女的博客 1万+

Java后端面试核心考点精讲:HashMap、JVM、并发、MySQL、Redis与Spring

在实际 Java 后端开发面试中,无论技术栈如何迭代,总有一些核心考点是面试官反复追问的。这些考点不仅是检验候选人基础是否扎实的标尺,也直接关系到其解决实际问题的能力。很多开发者虽然工作多年,但面对诸如“HashMap 为什么线程不安全”、“JVM 内存模型如何工作”、“Spring Bean 的生命周期”等问题时,依然难以给出清晰、有深度的回答。这往往是因为日常开发更关注功能实现,而面试则需要系统性地串联起零散的知识点,并解释其背后的设计原理和工程权衡。 本文旨在为准备 Java 后端开发面试的工程师提供

weixin_33991418的博客 391

SpringCloud工作笔记032---SpringCloud异常(Euruka):Application run failed java.lang.NoSuchMethodError: org.

 JAVA技术交流QQ群:170933152  在测试Euruka作为服务注册中心的时候碰到了这个问题,错误提示如下: 下面一堆是别人的: 看看我自己的: 1. 注意一下,这里出问题的是: 这个工程:E:\IdeaWkSpace\SmartCommunity\sc-admin\pom.xml 这个是sc-admin的,但是sc-auth的不对 注意画圈的这两个地方: sc-auth...

添柴程序猿的专栏 2384

springboot 2.x tomcat war包部署 localhost-startStop-1 启动卡顿卡死

大家好,我是烤鸭:       关于springboot war包部署tomcat。    环境:        springboot 2.0.3.RELEASE        apache-tomcat-8.5.321.    修改pom&lt;packaging&gt;war&lt;/packaging&gt;网上很多人都说需要再加忽略内置tomcat,或者servlet.api的包,其实都不...

烤鸭的世界我们不懂。 5587

spring boot启动 no method 'getPersistenceUtil'报错解决

日志报错 14:01:11.935 [background-preinit] DEBUG org.jboss.logging - Logging Provider: org.jboss.logging.Log4j2LoggerProvider 14:01:11.944 [background-preinit] INFO org.hibernate.validator.internal.uti...

4949

【Spring】【笔记】《Spring In Action》第5章 数据库处理

5.1 Spring数据访问原理      DAO 数据访问对象(data access object)。      DAO提供了数据读取和写入到数据库中的一种方式。他们应该以接口的方式发布功能,而应用程序的其他部分就可以通过接口来进行访问了。      实现了松耦合代码 5.1.1 Spring数据访问异常体系      不与特定的持久化方式相关联。这意味着可以使用Spring

在咖啡里溺水的鱼 8528

AI大模型:(三)3.6 Spring AI Alibaba AI Agent 项目汇总案例

本文介绍阿里巴巴Spring AI生态五大核心Agent项目:DeepResearch(Graph/Agentic)、DataAgent、JManus及AssistantAgent,覆盖智能研究、数据处理与自动化等场景。重点解析DeepResearch(Graph)的14节点多智能体架构、动态任务规划及混合RAG技术。文章还包含项目对比、最佳实践与未来趋势展望,为开发者提供选型参考与落地指导,助力高效构建Java AI应用,全面展现Spring AI Alibaba从基础交互到高阶协作的完整实践能力。

haylee的专栏 353

从零开始学华为设备:手把手教你用ENSP搭建OSPF实验环境(附拓扑文件)

本文详细介绍了如何使用华为ENSP模拟器从零开始搭建OSPF多区域网络实验环境,包括拓扑规划、设备配置、OSPF参数优化及故障排查技巧。通过实战案例和配置示例,帮助网络工程师快速掌握华为设备的OSPF协议配置,提升企业网络环境中的实战能力。

weixin_29305313的博客 286

Spring实战(第4版)

Spring实战第四版,在线阅读地址:https://potoyang.gitbook.io/spring-in-action-v4/,根据 pdf 整理完成。

m0_67393295的博客 748

Python Trimesh库实战:5分钟搞定STL文件解析与3D模型可视化

本文介绍了如何使用Python的Trimesh库快速解析STL文件并进行3D模型可视化。通过简洁的代码示例,演示了从环境搭建、模型加载、几何数据提取到基础变换和批量处理的核心流程,帮助开发者和工程师在5分钟内高效完成3D数据处理与可视化任务。

weixin_32005771的博客 158

Spring in Action(第五章 征服数据库)学习笔记

1.DAO data access object,DAO提供了一种数据读取和写入到数据库中的一种方式。 2.接口是实现松散耦合的关键,最好将其应用到应用程序中的每一层,而不仅仅是持久化层。 3.Hibernate异常为其本身所特有,JDBC的异常体系又太过简单,而Spring几乎为所有的读取和写入数据库 的所有错误都提供了异常。 4.Spring实现的异常处理都是继

狂奔的蜗牛 852

四旋翼无人机Matlab建模

本文主要分享一下四旋翼无人机的建模过程,然后在Matlab的simulink模块搭建起四旋翼无人机的模型,下一章将结合这个模型设计双环PID控制器并调节参数。 一、无人机建模过程

qq_36903625的博客 3万+

从Oracle到腾讯TDSQL数据库升级技术分享

腾讯TDSQL(Tencent Distributed SQL)是一款兼具关系数据库和NoSQL数据库优点的新型数据库,文章主要分享oracle升级为TDSQl数据库技术经验。

u012372850的专栏 2613

Spring in Action (第二版) 读书笔记

[b]1. 开始Spring之旅[/b] Spring是一个轻量级的DI和 AOP容器框架。 依赖注入:协调依赖对象之间合作的责任从对象自身中转移出来 依赖注入只是Spring提供的一种技术,它支持松山耦合。面向切面编程技术提供了另外一个解耦合的功能,它将应用功能(例如安全和事务)和对象分开。让我们快速地看一下Spring对AOP的支持。 [b]2. 基本Bean装配[/b] 不是只...

saber的专栏 222

Kaggle | 总奖池超200万美金的数学竞赛AIMO2冠军方案

••••结论1:通过结合高质量大规模数据集、工具集成推理和生成式选择方法,可以构建在挑战性数学问题上达到最先进水平的语言模型。本文的方法在 AIMO-2 竞赛中的胜利以及在多个数学基准上的 SOTA 结果验证了这一策略的有效性。结论2:发布 OpenMathReasoning 数据集、OpenMath-Nemotron 模型和代码是社区的宝贵财富。

hxshine的博客 1194

Spring in Action 学习笔记—第四章 征服数据库

Spring in Action 学习笔记—第四章 征服数据库 先是一个好消息,在2006年国庆期间,Spring2.0正式版(http://www.springframework.org/download )和Spring2.0中文文档(http://spring.jactiongroup.net/viewtopic.php?t=2279&sid=0906ae6a913537b249e5

菜菜鸟_黑马的专栏 1016

Anaconda数据报错:Fatal error in launcher: Unable to create process using ‘“E:\Anaconda\python.exe“ “D:\

里面的pip.exe程序出现了问题,我这里直接删除,重新安装解决,上面已经手动删除pip.exe删除pip.exe,重新安装pip.exe用下面命令: 测试是否成功成功解决

Deng872347348的博客 1270

基于粒子群优化的PID控制在药液流量控制系统中的应用

本文提出了一种基于粒子群优化(PSO)的PID控制算法,用于药液流量控制系统。系统采用C37控制器和Codesys 2.3编程环境实现,通过传感器实时监测流量、压力和车速,并控制水泵占空比和电动球阀开度来精确调节药液流量。硬件配置包括FT-2000流量传感器、PT-3000压力传感器和MV-500电动球阀等。控制算法将PSO与PID结合,使用ITAE指标优化PID参数,在Codesys中实现了包含PSO优化循环、PID控制等功能的程序模块。该系统通过分层控制策略和智能优化算法,提高了药液流量控制的精度和响应

AI的内部世界的博客 250

网盘资源高效搜索与管理全攻略

在数字化资源爆炸的时代,高效检索与管理网盘资源成为刚需。搜索引擎通过爬虫技术抓取各平台公开资源,但用户常因搜索策略不当而错过有效内容。掌握多平台聚合搜索原理,结合精准关键词组合与时间筛选技术,可显著提升资源获取效率。以Python教程、高清电影等热词为例,通过版本号、ISBN等元数据锁定目标,配合来搜盘等工具的热度星标功能,能快速识别优质资源。在云存储与本地备份协同的架构下,建立三级目录分类体系,可实现技术资料的长效管理,特别适合程序员、学生等需要持续积累学习资源的群体。

weixin_34056162的博客 413

【Unity实战篇】| 游戏轮播图效果,多种实现思路及完整教程

在众多游戏的主界面、商城、图鉴或关卡选择界面中,我们常常能看到轮播图的身影。 它以动态、直观的方式展示游戏角色、皮肤、成就或场景,不仅极大地提升了界面的美观度和交互性,还能高效地引导玩家聚焦于核心内容。 本篇文章将从零开始,一步步在Unity中构建一个功能完备、性能优良的游戏轮播图。 使用UGUI系统,通过代码驱动,实现包括自动轮播、手动拖拽、分页指示器、无限循环等核心功能。 无论是UI新手还是希望优化现有方案的开发者,这篇文章都将为你提供清晰的思路和完整的解决方案。

努力前行,总会成为自己心中的那道光 4万+

Spring Boot中构建大模型安全闸门:意图解析与策略引擎实践

在AI Agent与业务系统集成中,直接执行大模型生成的操作指令存在显著安全风险。本文探讨通过构建“可拒绝的闸门”实现安全管控,核心基于意图解析将自然语言指令转换为结构化操作描述,并结合策略引擎进行多维度检查。该方案在Spring Boot中通过模块化设计实现,具备可插拔规则链与完善可观测性,有效平衡AI提效与系统安全,为生产环境AI应用提供可靠保障。

chubaisheng8627的博客 423

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

LangChain4j 中文文档

欢迎!LangChain4j 的目标是简化将大语言模型集成到 Java 应用中的过程。它的实现方式如下:统一 API: 大语言模型提供商(如 OpenAI 或 Google Vertex AI)和嵌入(向量)存储(如 Pinecone 或 Milvus)都使用专有 API。LangChain4j 提供统一 API,避免你为每个提供商或存储分别学习和实现特定 API。想尝试不同的大语言模型或嵌入存储时,你可以轻松切换,而无需重写代码。LangChain4j 目前支持 20+ 个主流大语言模型提供商 和 30+

qq_43356685的博客 975

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

批量下载工具实测:3个技巧让Cyberdrop与Bunkr资源一键落盘

如果你也经历过在分享页里手动一张张点保存、点到手指发酸的崩溃时刻,那这款开源的 CyberdropBunkrDownloader 批量下载工具,可能就是你的解药。它能把 Cyberdrop.me 和 Bunkr 分享页里的所有文件一口气拉回本地,支持断点续传、按类型筛选、按日期过滤,全程只需要一条命令。这篇是我真实跑了几天的使用记录,从装环境到踩坑再到各种参数搭配,一次说清。 ## 手动下载到第

gitblog_01052的博客 903

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

上一篇: the newer :swt/jface(译自swt in action)
下一篇: sublime编辑VUE代码高亮方法
java_augur
博客等级 码龄22年 67粉丝 64原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值