首页天道酬勤spring new什么意思,boot options什么意思

spring new什么意思,boot options什么意思

张世龙 05-12 08:11 53次浏览

new SpringApplication()主要过程

根据spring.factories配置文件找到已配置的APP应用程序上下文类# application contextinitializers、侦听器类#Application Listeners,然后单击

1 .假设APP应用程序web类型的默认值是servlet

http://www.Sina.com /应用程序上下文3358 www.Sina.com /总结如下: 读取spring.factories文件以获取所有类的完全限定名称- -根据initializer和应用程序监听器获取相应类的完全限定名称- -根据类的完全限定名称使用反射方法对

this.initializers.addall (initializers;

6个应用程序上下文http://www.Sina.com///核心方法setinitializers(collection ) getspringfactoriesinstances )应用程序获取class.getconstructor(class . ).new instance (param . ) )1)类的完全限定名称

首先,从所有jar包的spring.factories文件中读取类的完全限定名称,并使用key、value将其保存到map中。 然后,使用key=org.spring framework.context.applicationcontextinitializer从映射中检索对应的value值,并检索六个initializer。

[ org.spring framework.boot.context.configurationwarningsapplicationcontextinitializer, org.spring framework.boot.context.contextidapplicationcontextinitializer, org.spring framework.boot.context.config.delegatingapplicationcontextinitializer, org.spring framework.boot.web.context.serverportinfoapplicationcontextinitializer,org.spring framework.boot.auu

格式(element class name,classLoader ); 使用classloader和类的完全限定名称获取class对象instance class.getdeclaredconstructor (参数类型); //获取类的构造函数ctor.newinstance(Args ); //在生成器中创建对象2.设置设置的思路与上述Initializer相同。

设置监听器(collection ) getspringfactoriesinstances (应用监听器. class ); this.listeners.addall (listeners; //检索的监听器对象是SpringApplication对象的属性[ org.spring framework.cloud.bootstrap.bootstrapapplication listenener org.spring framework.cloud.bootstrap.loggingsystemshutdownlistener, org.spring framework.cloud.context.restart org.spring framework.boot.clearcachesapplicationlistener, org.spring framework.boot.builder.parentcontextcloserapper org.spring framework.boot.context.fileencodingaplicatior org.spring framework.boot.context.config.AAA config org.spring framework.coot.config.configfileapplication org.spring framework.boot.context.context org.spring framework.boot.context.logging.classpathlogingaplicationg org.spring framework.boot.contexte ner org.spring framework.boot.liqui base.liquibaseservicelocatorapplicationlionlistenenenenenenetenenenenenete org.spring framework.boot.auto configure.backgroundpreinitializer ]3.估计当前主类的总结: runtime exception (.getstack trexction

//根据堆栈中的方法名称是否包含main,当前main方法所在的类this.mainapplicationclass=deducemainapplicationclass (); //deduceMainApplicationClass (核心代码堆栈跟踪元素[ ]堆栈跟踪=newruntimeexception ).getstack跟踪); 堆栈跟踪元素堆栈跟踪元素名称(for ) }

thisapplicationfailed,webapplicationinitializer