nutzboot 游记 - 01

作者: 许一沐 | 来源:发表于2021-04-25 12:58 被阅读0次

    Intellij idea edu

    IDE 选择 免费版本

    默认的 maven 下载包路径:~/.m2/repository

    内置 maven 路径
    /Applications/IntelliJ IDEA Edu.app/Contents/plugins/maven/lib/maven3/conf/settings.xml

    • 修改 阿里云镜像:
    <mirrors>
     <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>*</mirrorOf>
      <name>阿里云公共仓库</name>
      <url>https://maven.aliyun.com/repository/public</url>
     </mirror>
    </mirrors>
    

    配置说明:
    https://blog.csdn.net/qq_19312397/article/details/106175632
    https://maven.aliyun.com/mvn/guide

    • 配置 maven 到 ~/.zshrc:
    export MAVEN_HOME="/Applications/IntelliJ IDEA Edu.app/Contents/plugins/maven/lib/maven3"
    export PATH="$MAVEN_HOME/bin:$PATH"
    

    配置完成后 设置权限: chmod u+x $MAVEN_HOME/bin/mvn

    nutzboot 文档

    http://nutzam.com/core/boot/write_starter.html

    测试 demo app的运行步骤

    ~/IdeaProjects/demo % mvn compile nutzboot:run
    [INFO] Scanning for projects...
    [INFO]
    [INFO] ----------------------------< io.nutz:demo >----------------------------
    [INFO] Building demo 1.0-SNAPSHOT
    [INFO] --------------------------------[ jar ]---------------------------------
    [WARNING] The POM for com.alibaba:druid:jar:1.1.21 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
    [INFO]
    [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ demo ---
    [INFO] Using 'UTF-8' encoding to copy filtered resources.
    [INFO] Copying 3 resources
    [INFO]
    [INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ demo ---
    [INFO] Nothing to compile - all classes are up to date
    [INFO]
    [INFO] --- nutzboot-maven-plugin:2.4.0.v20200427:run (default-cli) @ demo ---
    [INFO ] 10:50:11.985 org.nutz.boot.banner.SimpleBannerPrinter.printBanner(SimpleBannerPrinter.java:34) -
     _   _ ______                                      ___
    | \ | || ___ \  ______ ______ ______ ______ ______| \ \
    |  \| || |_/ / |______|______|______|______|______| |\ \
    | . ` || ___ \  ______ ______ ______ ______ ______| | > >
    | |\  || |_/ / |______|______|______|______|______| |/ /
    \_| \_/\____/                                     |_/_/
    
    :: Nutz Boot ::   (2.4.0.v20200427)
    [DEBUG] 10:50:12.022 org.nutz.resource.Scans.printLocations(Scans.java:527) - Locations count=3 time use 10ms
    [DEBUG] 10:50:12.027 org.nutz.resource.Scans.scan(Scans.java:280) - Found 1 resource by src( custom/ ) , regex( ^.+[.]properties$ )
    [DEBUG] 10:50:12.028 org.nutz.ioc.impl.PropertiesProxy.setPaths(PropertiesProxy.java:106) - load properties from jar:file:/Users/xiaohanxu/.m2/repository/org/nutz/nutzboot-core/2.4.0.v20200427/nutzboot-core-2.4.0.v20200427.jar!/custom/emtry.properties
    [DEBUG] 10:50:12.035 org.nutz.boot.config.impl.PropertiesConfigureLoader.init(PropertiesConfigureLoader.java:38) - load /Users/xiaohanxu/IdeaProjects/demo/target/classes/application.properties
    [DEBUG] 10:50:12.115 org.nutz.resource.Scans.scan(Scans.java:280) - Found 1 resource by src( ioc/ ) , regex( ^(.+[.])(js|json)$ )
    [DEBUG] 10:50:12.116 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:49) - loading [emtry.json]
    [DEBUG] 10:50:12.117 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:57) - Loaded 0 bean define from path=[ioc/] --> []
    [DEBUG] 10:50:12.252 org.nutz.castor.Castors.reload(Castors.java:116) - Using 107 castor for Castors
    [DEBUG] 10:50:12.274 org.nutz.ioc.aop.SimpleAopMaker.<init>(SimpleAopMaker.java:79) - Load AopConfigure for anno=org.nutz.aop.interceptor.async.Async by type=org.nutz.aop.interceptor.async.AsyncAopIocLoader
    [INFO ] 10:50:12.287 org.nutz.ioc.loader.annotation.AnnotationIocLoader.<init>(AnnotationIocLoader.java:51) -  > scan 'io.nutz.demo'
    [DEBUG] 10:50:12.290 org.nutz.resource.Scans.scan(Scans.java:280) - Found 4 resource by src( io/nutz/demo/ ) , regex( ^.+[.]class$ )
    [INFO ] 10:50:12.306 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:103) -    > add 'mainLauncher                            ' - io.nutz.demo.MainLauncher
    [INFO ] 10:50:12.347 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:103) -    > add 'timeModule                              ' - io.nutz.demo.module.TimeModule
    [INFO ] 10:50:12.364 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:103) -    > add 'userModule                              ' - io.nutz.demo.module.UserModule
    [INFO ] 10:50:12.404 org.nutz.ioc.loader.annotation.AnnotationIocLoader.<init>(AnnotationIocLoader.java:51) -  > scan 'org.nutz.boot.starter'
    [DEBUG] 10:50:12.411 org.nutz.resource.Scans.scan(Scans.java:280) - Found 26 resource by src( org/nutz/boot/starter/ ) , regex( ^.+[.]class$ )
    [INFO ] 10:50:12.484 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:103) -    > add 'swaggerServletStarter                   ' - org.nutz.boot.starter.swagger.SwaggerServletStarter
    [DEBUG] 10:50:12.509 org.nutz.ioc.loader.annotation.AnnotationIocLoader.handleIocBeanMethod(AnnotationIocLoader.java:280) - Found @IocBean method : SwaggerServletStarter.createSwagger(...) define as name=swagger
    [DEBUG] 10:50:12.511 org.nutz.ioc.loader.annotation.AnnotationIocLoader.handleIocBeanMethod(AnnotationIocLoader.java:280) - Found @IocBean method : SwaggerServletStarter.createSwaggerInfo(...) define as name=swaggerInfo
    [INFO ] 10:50:12.523 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:103) -    > add 'nutFilterStarter                        ' - org.nutz.boot.starter.nutz.mvc.NutFilterStarter
    [DEBUG] 10:50:12.541 org.nutz.ioc.loader.annotation.AnnotationIocLoader.handleIocBeanMethod(AnnotationIocLoader.java:280) - Found @IocBean method : NutFilterStarter.createNutFilter(...) define as name=nutFilter
    [INFO ] 10:50:12.547 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:103) -    > add 'whaleFilterStarter                      ' - org.nutz.boot.starter.nutz.mvc.WhaleFilterStarter
    [DEBUG] 10:50:12.550 org.nutz.ioc.loader.annotation.AnnotationIocLoader.handleIocBeanMethod(AnnotationIocLoader.java:280) - Found @IocBean method : WhaleFilterStarter.createNutFilter(...) define as name=whaleFilter
    [INFO ] 10:50:12.552 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:103) -    > add 'nutDaoStarter                           ' - org.nutz.boot.starter.nutz.dao.NutDaoStarter
    [DEBUG] 10:50:12.596 org.nutz.ioc.loader.annotation.AnnotationIocLoader.handleIocBeanMethod(AnnotationIocLoader.java:280) - Found @IocBean method : NutDaoStarter.getSqlManager(...) define as name=sqlManager
    [DEBUG] 10:50:12.596 org.nutz.ioc.loader.annotation.AnnotationIocLoader.handleIocBeanMethod(AnnotationIocLoader.java:280) - Found @IocBean method : NutDaoStarter.createCacheSerializer(...) define as name=daoCacheSerializer
    [DEBUG] 10:50:12.597 org.nutz.ioc.loader.annotation.AnnotationIocLoader.handleIocBeanMethod(AnnotationIocLoader.java:280) - Found @IocBean method : NutDaoStarter.createDaoCacheInterceptor(...) define as name=daoCacheInterceptor
    [DEBUG] 10:50:12.597 org.nutz.ioc.loader.annotation.AnnotationIocLoader.handleIocBeanMethod(AnnotationIocLoader.java:280) - Found @IocBean method : NutDaoStarter.getDao(...) define as name=dao
    [INFO ] 10:50:12.608 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:103) -    > add 'jettyStarter                            ' - org.nutz.boot.starter.jetty.JettyStarter
    [DEBUG] 10:50:12.731 org.nutz.ioc.loader.annotation.AnnotationIocLoader.handleIocBeanMethod(AnnotationIocLoader.java:280) - Found @IocBean method : JettyStarter.getJettyServer(...) define as name=jettyServer
    [INFO ] 10:50:12.731 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:103) -    > add 'nbServletContextListener                ' - org.nutz.boot.starter.servlet3.NbServletContextListener
    [INFO ] 10:50:12.732 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:103) -    > add 'dataSourceStarter                       ' - org.nutz.boot.starter.jdbc.DataSourceStarter
    [DEBUG] 10:50:12.733 org.nutz.ioc.loader.annotation.AnnotationIocLoader.handleIocBeanMethod(AnnotationIocLoader.java:280) - Found @IocBean method : DataSourceStarter.getDataSource(...) define as name=dataSource
    [DEBUG] 10:50:12.734 org.nutz.ioc.loader.annotation.AnnotationIocLoader.handleIocBeanMethod(AnnotationIocLoader.java:280) - Found @IocBean method : DataSourceStarter.createDruidDataSource(...) define as name=druidDataSource
    [DEBUG] 10:50:12.734 org.nutz.ioc.loader.annotation.AnnotationIocLoader.handleIocBeanMethod(AnnotationIocLoader.java:280) - Found @IocBean method : DataSourceStarter.createHikariCPDataSource(...) define as name=hikariDataSource
    [INFO ] 10:50:12.734 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:103) -    > add 'druidWebStatFilterStarter               ' - org.nutz.boot.starter.jdbc.DruidWebStatFilterStarter
    [INFO ] 10:50:12.735 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:103) -    > add 'druidWebStatServletStarter              ' - org.nutz.boot.starter.jdbc.DruidWebStatServletStarter
    [INFO ] 10:50:12.736 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:103) -    > add 'beetlGroupTemplateStarter               ' - org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter
    [DEBUG] 10:50:12.745 org.nutz.ioc.loader.annotation.AnnotationIocLoader.handleIocBeanMethod(AnnotationIocLoader.java:280) - Found @IocBean method : BeetlGroupTemplateStarter.getGroupTemplate(...) define as name=groupTemplate
    [INFO ] 10:50:12.745 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:103) -    > add '$views_beetl                            ' - org.nutz.boot.starter.beetl.BeetlViewMakerStarter
    [DEBUG] 10:50:12.754 org.nutz.boot.NbApp.prepareStarterClassList(NbApp.java:430) - Found jar:file:/Users/xiaohanxu/.m2/repository/org/nutz/nutzboot-starter-swagger/2.4.0.v20200427/nutzboot-starter-swagger-2.4.0.v20200427.jar!/META-INF/nutz/org.nutz.boot.starter.NbStarter
    [DEBUG] 10:50:12.754 org.nutz.boot.NbApp.prepareStarterClassList(NbApp.java:430) - Found jar:file:/Users/xiaohanxu/.m2/repository/org/nutz/nutzboot-starter-nutz-mvc/2.4.0.v20200427/nutzboot-starter-nutz-mvc-2.4.0.v20200427.jar!/META-INF/nutz/org.nutz.boot.starter.NbStarter
    [DEBUG] 10:50:12.755 org.nutz.boot.NbApp.prepareStarterClassList(NbApp.java:430) - Found jar:file:/Users/xiaohanxu/.m2/repository/org/nutz/nutzboot-starter-nutz-dao/2.4.0.v20200427/nutzboot-starter-nutz-dao-2.4.0.v20200427.jar!/META-INF/nutz/org.nutz.boot.starter.NbStarter
    [DEBUG] 10:50:12.755 org.nutz.boot.NbApp.prepareStarterClassList(NbApp.java:430) - Found jar:file:/Users/xiaohanxu/.m2/repository/org/nutz/nutzboot-starter-jetty/2.4.0.v20200427/nutzboot-starter-jetty-2.4.0.v20200427.jar!/META-INF/nutz/org.nutz.boot.starter.NbStarter
    [DEBUG] 10:50:12.756 org.nutz.boot.NbApp.prepareStarterClassList(NbApp.java:430) - Found jar:file:/Users/xiaohanxu/.m2/repository/org/nutz/nutzboot-starter-jdbc/2.4.0.v20200427/nutzboot-starter-jdbc-2.4.0.v20200427.jar!/META-INF/nutz/org.nutz.boot.starter.NbStarter
    [DEBUG] 10:50:12.756 org.nutz.boot.NbApp.prepareStarterClassList(NbApp.java:430) - Found jar:file:/Users/xiaohanxu/.m2/repository/org/nutz/nutzboot-starter-beetl/2.4.0.v20200427/nutzboot-starter-beetl-2.4.0.v20200427.jar!/META-INF/nutz/org.nutz.boot.starter.NbStarter
    [INFO ] 10:50:12.795 org.nutz.boot.NbApp.prepare(NbApp.java:310) - Configure Manual:
    |id  |key                                     |required  |Possible Values     |Default   |Description         |                                starters|
    |----|----------------------------------------|----------|--------------------|----------|--------------------|----------------------------------------|
    |0   |beetl.DELIMITER_PLACEHOLDER_END         |no        |                    |}         |占位符的定界符的结束符号        |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |1   |beetl.DELIMITER_PLACEHOLDER_END2        |no        |                    |          |第二组占位符的定界符的结束符号     |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |2   |beetl.DELIMITER_PLACEHOLDER_START       |no        |                    |${        |占位符的定界符的起始符号        |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |3   |beetl.DELIMITER_PLACEHOLDER_START2      |no        |                    |          |第二组占位符的定界符的起始符号     |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |4   |beetl.DELIMITER_STATEMENT_END           |no        |                    |%>        |语句的定界符的结束符号         |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |5   |beetl.DELIMITER_STATEMENT_END2          |no        |                    |          |第二组语句的定界符的结束符号      |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |6   |beetl.DELIMITER_STATEMENT_START         |no        |                    |<%        |语句的定界符的起始符号         |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |7   |beetl.DELIMITER_STATEMENT_START2        |no        |                    |          |第二组语句的定界符的起始符号      |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |8   |beetl.DIRECT_BYTE_OUTPUT                |no        |                    |true      |直接输出字节流             |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |9   |beetl.ENGINE                            |no        |                    |org.beetl.core.engine.FastRuntimeEngine|渲染引擎                |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |10  |beetl.ERROR_HANDLER                     |no        |                    |org.beetl.ext.nutz.LogErrorHandler|错误处理器               |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |11  |beetl.HTML_TAG_BINDING_ATTRIBUTE        |no        |                    |var,export|html标签绑定属性          |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |12  |beetl.HTML_TAG_FLAG                     |no        |                    |#         |html标签前缀            |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |13  |beetl.HTML_TAG_SUPPORT                  |no        |                    |false     |是否支持Html标签          |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |14  |beetl.IGNORE_CLIENT_IO_ERROR            |no        |                    |false     |是否忽略客户端IO错误         |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |15  |beetl.IMPORT_PACKAGE                    |no        |                    |          |需要导入哪些package       |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |16  |beetl.MVC_STRICT                        |no        |                    |false     |MVC严格模式             |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |17  |beetl.NATIVE_CALL                       |no        |                    |false     |是否允许原生调用            |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |18  |beetl.NATIVE_SECUARTY_MANAGER           |no        |                    |org.beetl.core.DefaultNativeSecurityManager|本地支持的安全管理器          |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |19  |beetl.RESOURCE.autoCheck                |no        |                    |true      |自动检测模板更新            |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |20  |beetl.RESOURCE.root                     |no        |                    |template/ |模板目录的路径             |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |21  |beetl.RESOURCE.rootLocal                |no        |                    |          |模板目录的绝对路径,若不存在,回落到'模板目录的路径'|org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |22  |beetl.RESOURCE_LOADER                   |no        |                    |org.beetl.core.resource.ClasspathResourceLoader|模板加载器               |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |23  |beetl.TEMPLATE_CHARSET                  |no        |                    |UTF-8     |模板字符集               |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |24  |beetl.WEBAPP_EXT                        |no        |                    |          |扩展全局变量的实现类          |org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter|
    |25  |druid.web.filter.exclusions             |no        |                    |          |需要排除的路径             |org.nutz.boot.starter.jdbc.DruidWebStatFilterStarter|
    |26  |druid.web.filter.principalCookieName    |no        |                    |          |用户权限信息的cookie属性名称   |org.nutz.boot.starter.jdbc.DruidWebStatFilterStarter|
    |27  |druid.web.filter.principalSessionName   |no        |                    |          |用户权限信息的session属性名称  |org.nutz.boot.starter.jdbc.DruidWebStatFilterStarter|
    |28  |druid.web.filter.profileEnable          |no        |                    |          |是否开启性能监控            |org.nutz.boot.starter.jdbc.DruidWebStatFilterStarter|
    |29  |druid.web.filter.realIpHeader           |no        |                    |          |Header中ReadIp对应的key |org.nutz.boot.starter.jdbc.DruidWebStatFilterStarter|
    |30  |druid.web.filter.sessionStatEnable      |no        |                    |true      |是否开启session状态监控     |org.nutz.boot.starter.jdbc.DruidWebStatFilterStarter|
    |31  |druid.web.filter.sessionStatMaxCount    |no        |                    |          |session最大状态数量       |org.nutz.boot.starter.jdbc.DruidWebStatFilterStarter|
    |32  |druid.web.servlet.allow                 |no        |                    |          |允许访问的ip列表           |org.nutz.boot.starter.jdbc.DruidWebStatServletStarter|
    |33  |druid.web.servlet.deny                  |no        |                    |          |禁止访问的ip列表           |org.nutz.boot.starter.jdbc.DruidWebStatServletStarter|
    |34  |druid.web.servlet.enable                |no        |                    |true      |是否启动monitor页面       |org.nutz.boot.starter.jdbc.DruidWebStatServletStarter|
    |35  |druid.web.servlet.jmxPassword           |no        |                    |          |JMX的密码              |org.nutz.boot.starter.jdbc.DruidWebStatServletStarter|
    |36  |druid.web.servlet.jmxUrl                |no        |                    |          |读取JMX信息的URL         |org.nutz.boot.starter.jdbc.DruidWebStatServletStarter|
    |37  |druid.web.servlet.jmxUsername           |no        |                    |          |JMX的用户名             |org.nutz.boot.starter.jdbc.DruidWebStatServletStarter|
    |38  |druid.web.servlet.loginPassword         |no        |                    |随机值,打印在日志中|访问monitor页面的密码      |org.nutz.boot.starter.jdbc.DruidWebStatServletStarter|
    |39  |druid.web.servlet.loginUsername         |no        |                    |driud     |访问monitor页面的用户名     |org.nutz.boot.starter.jdbc.DruidWebStatServletStarter|
    |40  |druid.web.servlet.resetEnable           |no        |                    |true      |是否允许重置统计结果          |org.nutz.boot.starter.jdbc.DruidWebStatServletStarter|
    |41  |jdbc.password                           |no        |                    |          |数据库密码               |org.nutz.boot.starter.jdbc.DataSourceStarter|
    |42  |jdbc.type                               |no        |druid,simple,hikari |druid     |连接池类型               |org.nutz.boot.starter.jdbc.DataSourceStarter|
    |43  |jdbc.url                                |yes       |                    |          |JDBC URL            |org.nutz.boot.starter.jdbc.DataSourceStarter|
    |44  |jdbc.username                           |no        |                    |          |数据库用户名              |org.nutz.boot.starter.jdbc.DataSourceStarter|
    |45  |jetty.contextPath                       |no        |                    |/         |上下文路径               |org.nutz.boot.starter.jetty.JettyStarter|
    |46  |jetty.gzip.enable                       |no        |                    |false     |是否启用gzip            |org.nutz.boot.starter.jetty.JettyStarter|
    |47  |jetty.gzip.level                        |no        |                    |-1        |gzip压缩级别            |org.nutz.boot.starter.jetty.JettyStarter|
    |48  |jetty.gzip.minContentSize               |no        |                    |512       |gzip压缩最小触发大小        |org.nutz.boot.starter.jetty.JettyStarter|
    |49  |jetty.host                              |no        |                    |0.0.0.0   |监听的ip地址             |org.nutz.boot.starter.jetty.JettyStarter|
    |50  |jetty.http.idleTimeout                  |no        |                    |300000    |空闲时间,单位毫秒           |org.nutz.boot.starter.jetty.JettyStarter|
    |51  |jetty.httpConfig.blockingTimeout        |no        |                    |-1        |阻塞超时                |org.nutz.boot.starter.jetty.JettyStarter|
    |52  |jetty.httpConfig.headerCacheSize        |no        |                    |8192      |头部缓冲区大小             |org.nutz.boot.starter.jetty.JettyStarter|
    |53  |jetty.httpConfig.maxErrorDispatches     |no        |                    |10        |最大错误重定向次数           |org.nutz.boot.starter.jetty.JettyStarter|
    |54  |jetty.httpConfig.outputAggregationSize  |no        |                    |8192      |输出聚合大小              |org.nutz.boot.starter.jetty.JettyStarter|
    |55  |jetty.httpConfig.outputBufferSize       |no        |                    |32768     |输出缓冲区大小             |org.nutz.boot.starter.jetty.JettyStarter|
    |56  |jetty.httpConfig.persistentConnectionsEnabled|no        |                    |true      |是否启用持久化连接           |org.nutz.boot.starter.jetty.JettyStarter|
    |57  |jetty.httpConfig.requestHeaderSize      |no        |                    |8192      |请求的头部最大值            |org.nutz.boot.starter.jetty.JettyStarter|
    |58  |jetty.httpConfig.responseHeaderSize     |no        |                    |8192      |响应的头部最大值            |org.nutz.boot.starter.jetty.JettyStarter|
    |59  |jetty.httpConfig.securePort             |no        |                    |          |安全协议的端口,例如8443      |org.nutz.boot.starter.jetty.JettyStarter|
    |60  |jetty.httpConfig.secureScheme           |no        |                    |          |安全协议,例如https        |org.nutz.boot.starter.jetty.JettyStarter|
    |61  |jetty.httpConfig.sendDateHeader         |no        |                    |true      |是否发送日期信息            |org.nutz.boot.starter.jetty.JettyStarter|
    |62  |jetty.httpConfig.sendServerVersion      |no        |                    |true      |是否发送jetty版本号        |org.nutz.boot.starter.jetty.JettyStarter|
    |63  |jetty.https.keystore.password           |no        |                    |          |Https的KeyStore的密码   |org.nutz.boot.starter.jetty.JettyStarter|
    |64  |jetty.https.keystore.path               |no        |                    |          |Https的KeyStore路径    |org.nutz.boot.starter.jetty.JettyStarter|
    |65  |jetty.https.port                        |no        |                    |          |Https端口号            |org.nutz.boot.starter.jetty.JettyStarter|
    |66  |jetty.maxFormContentSize                |no        |                    |1gb       |表单最大尺寸              |org.nutz.boot.starter.jetty.JettyStarter|
    |67  |jetty.maxFormKeys                       |no        |                    |1000      |表单最大key数量           |org.nutz.boot.starter.jetty.JettyStarter|
    |68  |jetty.page.404                          |no        |                    |          |自定义404页面,同理,其他状态码也是支持的|org.nutz.boot.starter.jetty.JettyStarter|
    |69  |jetty.page.java.lang.Throwable          |no        |                    |          |自定义java.lang.Throwable页面,同理,其他异常也支持|org.nutz.boot.starter.jetty.JettyStarter|
    |70  |jetty.port                              |no        |                    |8080      |监听的端口               |org.nutz.boot.starter.jetty.JettyStarter|
    |71  |jetty.session.cookie.domain             |no        |                    |          |设置cookie的domain     |org.nutz.boot.starter.jetty.JettyStarter|
    |72  |jetty.session.cookie.httponly           |no        |                    |false     |cookie是否设置HttpOnly  |org.nutz.boot.starter.jetty.JettyStarter|
    |73  |jetty.session.cookie.name               |no        |                    |          |设置cookie的name       |org.nutz.boot.starter.jetty.JettyStarter|
    |74  |jetty.session.cookie.path               |no        |                    |          |设置cookie的path       |org.nutz.boot.starter.jetty.JettyStarter|
    |75  |jetty.session.cookie.secure             |no        |                    |false     |cookie是否设置Secure    |org.nutz.boot.starter.jetty.JettyStarter|
    |76  |jetty.session.file.storeDir             |no        |                    |./session |session持久化,file所用的目录|org.nutz.boot.starter.jetty.JettyStarter|
    |77  |jetty.session.ioc.datastore             |no        |                    |jettySessionDataStore|session持久化,SessionDataStore对应的ioc名称|org.nutz.boot.starter.jetty.JettyStarter|
    |78  |jetty.session.jdbc.datasource.iocname   |no        |                    |dataSource|session持久化,jdbc所用数据库源的ioc名称|org.nutz.boot.starter.jetty.JettyStarter|
    |79  |jetty.session.store.enable              |no        |                    |false     |是否启用session持久化      |org.nutz.boot.starter.jetty.JettyStarter|
    |80  |jetty.session.store.type                |no        |jdbc,file,ioc,redis |jdbc      |session持久化类型        |org.nutz.boot.starter.jetty.JettyStarter|
    |81  |jetty.staticPath                        |no        |                    |          |额外的静态文件路径           |org.nutz.boot.starter.jetty.JettyStarter|
    |82  |jetty.staticPathLocal                   |no        |                    |          |静态文件所在的本地路径         |org.nutz.boot.starter.jetty.JettyStarter|
    |83  |jetty.threadpool.idleTimeout            |no        |                    |60000     |线程池idleTimeout,单位毫秒 |org.nutz.boot.starter.jetty.JettyStarter|
    |84  |jetty.threadpool.maxThreads             |no        |                    |500       |线程池最大线程数maxThreads  |org.nutz.boot.starter.jetty.JettyStarter|
    |85  |jetty.threadpool.minThreads             |no        |                    |200       |线程池最小线程数minThreads  |org.nutz.boot.starter.jetty.JettyStarter|
    |86  |jetty.welcome_files                     |no        |                    |index.html,index.htm,index.do|WelcomeFile列表       |org.nutz.boot.starter.jetty.JettyStarter|
    |87  |nutz.dao.interceptor.cache.cache4Null   |no        |                    |true      |是否缓存null结果          |org.nutz.boot.starter.nutz.dao.NutDaoStarter|
    |88  |nutz.dao.interceptor.cache.debug        |no        |                    |false     |打印daocache详细调试日志    |org.nutz.boot.starter.nutz.dao.NutDaoStarter|
    |89  |nutz.dao.interceptor.cache.enable       |no        |                    |false     |是否使用daocache        |org.nutz.boot.starter.nutz.dao.NutDaoStarter|
    |90  |nutz.dao.interceptor.cache.enableWhenTrans|no        |                    |false     |事务内是否启用daocache     |org.nutz.boot.starter.nutz.dao.NutDaoStarter|
    |91  |nutz.dao.interceptor.cache.provider.ioc.name|no        |                    |daoCacheProvider|daocache提供者DaoCacheProvider的IocBean名称|org.nutz.boot.starter.nutz.dao.NutDaoStarter|
    |92  |nutz.dao.interceptor.cache.provider.memory.cacheSize|no        |                    |          |daocache提供者MemoryDaoCacheProvider的默认缓存大小|org.nutz.boot.starter.nutz.dao.NutDaoStarter|
    |93  |nutz.dao.interceptor.cache.provider.type|no        |memory,ehcache,jedis,ioc|memory    |daocache提供者         |org.nutz.boot.starter.nutz.dao.NutDaoStarter|
    |94  |nutz.dao.interceptor.cache.table.names  |no        |                    |          |需要缓存的表名称,英文逗号分隔     |org.nutz.boot.starter.nutz.dao.NutDaoStarter|
    |95  |nutz.dao.interceptor.cache.table.pattern|no        |                    |          |需要缓存的表名称的正则表达式      |org.nutz.boot.starter.nutz.dao.NutDaoStarter|
    |96  |nutz.dao.interceptor.log.enable         |no        |                    |true      |是否打印dao的SQL日志       |org.nutz.boot.starter.nutz.dao.NutDaoStarter|
    |97  |nutz.dao.interceptor.time.enable        |no        |                    |false     |是否打印dao的SQL耗时日志     |org.nutz.boot.starter.nutz.dao.NutDaoStarter|
    |98  |nutz.dao.sqls.path                      |no        |                    |sqls/     |sql目录               |org.nutz.boot.starter.nutz.dao.NutDaoStarter|
    |99  |nutz.mvc.exclusions                     |no        |                    |          |排除指定请求路径的正则表达式      |org.nutz.boot.starter.nutz.mvc.NutFilterStarter|
    |100 |nutz.mvc.ignore                         |no        |                    |          |过滤指定请求路径的正则表达式      |org.nutz.boot.starter.nutz.mvc.NutFilterStarter|
    |101 |nutz.mvc.whale.enc.input                |no        |                    |UTF-8     |在其他Filter之前设置input编码|org.nutz.boot.starter.nutz.mvc.WhaleFilterStarter|
    |102 |nutz.mvc.whale.enc.output               |no        |                    |UTF-8     |在其他Filter之前设置output编码|org.nutz.boot.starter.nutz.mvc.WhaleFilterStarter|
    |103 |nutz.mvc.whale.http.hidden_method_param |no        |                    |          |隐形http方法参数转换所对应的参数名 |org.nutz.boot.starter.nutz.mvc.WhaleFilterStarter|
    |104 |nutz.mvc.whale.http.method_override     |no        |                    |false     |是否允许使用X-HTTP-Method-Override|org.nutz.boot.starter.nutz.mvc.WhaleFilterStarter|
    |105 |nutz.mvc.whale.upload.enable            |no        |                    |false     |是否启用隐形Upload支持      |org.nutz.boot.starter.nutz.mvc.WhaleFilterStarter|
    |106 |swagger.enable                          |no        |                    |true      |是否启用swagger         |org.nutz.boot.starter.swagger.SwaggerServletStarter|
    |107 |web.filter.order.nutz                   |no        |                    |          |指定NutFilter执行顺序     |org.nutz.boot.starter.nutz.mvc.NutFilterStarter|
    |108 |web.session.timeout                     |no        |                    |30        |Session空闲时间,单位分钟    |org.nutz.boot.starter.jetty.JettyStarter|
    [INFO ] 10:50:12.816 org.nutz.ioc.impl.NutIoc.<init>(NutIoc.java:130) - ... NutIoc init complete
    [DEBUG] 10:50:12.817 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'appContext' to [app]
    [DEBUG] 10:50:12.818 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'conf' to [app]
    [DEBUG] 10:50:12.818 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'nbApp' to [app]
    [DEBUG] 10:50:12.819 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'counterService' to [app]
    [DEBUG] 10:50:12.829 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'swaggerServletStarter'<class org.nutz.boot.starter.swagger.SwaggerServletStarter>
    [DEBUG] 10:50:12.829 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get '$aop_async'<interface org.nutz.ioc.aop.config.AopConfigration>
    [DEBUG] 10:50:12.832 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=$aop_async
    [DEBUG] 10:50:12.835 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject($aop_async) in AsyncAopIocLoader@969818874
    [DEBUG] 10:50:12.836 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'$aop_async'<interface org.nutz.ioc.aop.config.AopConfigration>
    [DEBUG] 10:50:12.841 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object '$aop_async' to [app]
    [DEBUG] 10:50:12.868 org.nutz.ioc.aop.SimpleAopMaker.<init>(SimpleAopMaker.java:79) - Load AopConfigure for anno=org.nutz.ioc.aop.Aop by type=org.nutz.ioc.aop.config.impl.AnnotationAopConfigration
    [DEBUG] 10:50:12.869 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=swaggerServletStarter
    [DEBUG] 10:50:12.869 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(swaggerServletStarter) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:12.870 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'swaggerServletStarter'<class org.nutz.boot.starter.swagger.SwaggerServletStarter>
    [DEBUG] 10:50:12.871 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'swaggerServletStarter' to [app]
    [DEBUG] 10:50:12.873 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class org.nutz.boot.starter.swagger.SwaggerServletStarter without AOP
    [DEBUG] 10:50:12.916 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'conf'<class org.nutz.ioc.impl.PropertiesProxy>
    [DEBUG] 10:50:12.917 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'appContext'<class org.nutz.boot.AppContext>
    [DEBUG] 10:50:12.918 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'nutFilterStarter'<class org.nutz.boot.starter.nutz.mvc.NutFilterStarter>
    [DEBUG] 10:50:12.919 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=nutFilterStarter
    [DEBUG] 10:50:12.919 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(nutFilterStarter) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:12.920 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'nutFilterStarter'<class org.nutz.boot.starter.nutz.mvc.NutFilterStarter>
    [DEBUG] 10:50:12.920 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'nutFilterStarter' to [app]
    [DEBUG] 10:50:12.922 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class org.nutz.boot.starter.nutz.mvc.NutFilterStarter without AOP
    [DEBUG] 10:50:12.931 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'conf'<class org.nutz.ioc.impl.PropertiesProxy>
    [DEBUG] 10:50:12.932 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'appContext'<class org.nutz.boot.AppContext>
    [DEBUG] 10:50:12.932 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'whaleFilterStarter'<class org.nutz.boot.starter.nutz.mvc.WhaleFilterStarter>
    [DEBUG] 10:50:12.932 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=whaleFilterStarter
    [DEBUG] 10:50:12.933 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(whaleFilterStarter) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:12.934 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'whaleFilterStarter'<class org.nutz.boot.starter.nutz.mvc.WhaleFilterStarter>
    [DEBUG] 10:50:12.934 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'whaleFilterStarter' to [app]
    [DEBUG] 10:50:12.935 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class org.nutz.boot.starter.nutz.mvc.WhaleFilterStarter without AOP
    [DEBUG] 10:50:12.942 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'conf'<class org.nutz.ioc.impl.PropertiesProxy>
    [DEBUG] 10:50:12.942 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'nutDaoStarter'<class org.nutz.boot.starter.nutz.dao.NutDaoStarter>
    [DEBUG] 10:50:12.942 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=nutDaoStarter
    [DEBUG] 10:50:12.943 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(nutDaoStarter) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:12.943 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'nutDaoStarter'<class org.nutz.boot.starter.nutz.dao.NutDaoStarter>
    [DEBUG] 10:50:12.943 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'nutDaoStarter' to [app]
    [DEBUG] 10:50:12.945 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class org.nutz.boot.starter.nutz.dao.NutDaoStarter without AOP
    [DEBUG] 10:50:12.951 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'conf'<class org.nutz.ioc.impl.PropertiesProxy>
    [DEBUG] 10:50:12.953 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'jettyStarter'<class org.nutz.boot.starter.jetty.JettyStarter>
    [DEBUG] 10:50:12.953 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=jettyStarter
    [DEBUG] 10:50:12.953 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(jettyStarter) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:12.953 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'jettyStarter'<class org.nutz.boot.starter.jetty.JettyStarter>
    [DEBUG] 10:50:12.954 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'jettyStarter' to [app]
    [DEBUG] 10:50:12.954 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class org.nutz.boot.starter.jetty.JettyStarter without AOP
    [DEBUG] 10:50:12.987 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'conf'<class org.nutz.ioc.impl.PropertiesProxy>
    [DEBUG] 10:50:12.991 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'appContext'<class org.nutz.boot.AppContext>
    [DEBUG] 10:50:12.993 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'dataSourceStarter'<class org.nutz.boot.starter.jdbc.DataSourceStarter>
    [DEBUG] 10:50:12.994 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=dataSourceStarter
    [DEBUG] 10:50:12.994 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(dataSourceStarter) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:12.994 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'dataSourceStarter'<class org.nutz.boot.starter.jdbc.DataSourceStarter>
    [DEBUG] 10:50:12.995 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'dataSourceStarter' to [app]
    [DEBUG] 10:50:12.995 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class org.nutz.boot.starter.jdbc.DataSourceStarter without AOP
    [DEBUG] 10:50:13.004 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'conf'<class org.nutz.ioc.impl.PropertiesProxy>
    [DEBUG] 10:50:13.004 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'druidWebStatFilterStarter'<class org.nutz.boot.starter.jdbc.DruidWebStatFilterStarter>
    [DEBUG] 10:50:13.005 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=druidWebStatFilterStarter
    [DEBUG] 10:50:13.005 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(druidWebStatFilterStarter) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:13.005 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'druidWebStatFilterStarter'<class org.nutz.boot.starter.jdbc.DruidWebStatFilterStarter>
    [DEBUG] 10:50:13.005 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'druidWebStatFilterStarter' to [app]
    [DEBUG] 10:50:13.006 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class org.nutz.boot.starter.jdbc.DruidWebStatFilterStarter without AOP
    [DEBUG] 10:50:13.020 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'conf'<class org.nutz.ioc.impl.PropertiesProxy>
    [DEBUG] 10:50:13.020 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'druidWebStatServletStarter'<class org.nutz.boot.starter.jdbc.DruidWebStatServletStarter>
    [DEBUG] 10:50:13.020 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=druidWebStatServletStarter
    [DEBUG] 10:50:13.021 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(druidWebStatServletStarter) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:13.051 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'druidWebStatServletStarter'<class org.nutz.boot.starter.jdbc.DruidWebStatServletStarter>
    [DEBUG] 10:50:13.051 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'druidWebStatServletStarter' to [app]
    [DEBUG] 10:50:13.052 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class org.nutz.boot.starter.jdbc.DruidWebStatServletStarter without AOP
    [DEBUG] 10:50:13.054 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'conf'<class org.nutz.ioc.impl.PropertiesProxy>
    [DEBUG] 10:50:13.055 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get '$views_beetl'<class org.nutz.boot.starter.beetl.BeetlViewMakerStarter>
    [DEBUG] 10:50:13.055 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=$views_beetl
    [DEBUG] 10:50:13.055 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject($views_beetl) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:13.055 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'$views_beetl'<class org.nutz.boot.starter.beetl.BeetlViewMakerStarter>
    [DEBUG] 10:50:13.056 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object '$views_beetl' to [app]
    [DEBUG] 10:50:13.056 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class org.nutz.boot.starter.beetl.BeetlViewMakerStarter without AOP
    [DEBUG] 10:50:13.062 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'appContext'<class org.nutz.boot.AppContext>
    [DEBUG] 10:50:13.063 org.nutz.boot.starter.beetl.BeetlViewMakerStarter.init(BeetlViewMakerStarter.java:29) - beetl init ....
    [DEBUG] 10:50:13.064 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'groupTemplate'<class org.beetl.core.GroupTemplate>
    [DEBUG] 10:50:13.064 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=groupTemplate
    [DEBUG] 10:50:13.065 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(groupTemplate) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:13.065 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'groupTemplate'<class org.beetl.core.GroupTemplate>
    [DEBUG] 10:50:13.065 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'groupTemplate' to [app]
    [DEBUG] 10:50:13.124 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class org.beetl.core.GroupTemplate without AOP
    [DEBUG] 10:50:13.124 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'beetlGroupTemplateStarter'<>
    [DEBUG] 10:50:13.124 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=beetlGroupTemplateStarter
    [DEBUG] 10:50:13.125 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(beetlGroupTemplateStarter) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:13.125 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'beetlGroupTemplateStarter'<>
    [DEBUG] 10:50:13.126 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'beetlGroupTemplateStarter' to [app]
    [DEBUG] 10:50:13.128 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter without AOP
    [DEBUG] 10:50:13.131 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'conf'<class org.nutz.ioc.impl.PropertiesProxy>
    [DEBUG] 10:50:13.131 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'appContext'<class org.nutz.boot.AppContext>
    [DEBUG] 10:50:13.138 org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter.getGroupTemplate(BeetlGroupTemplateStarter.java:132) - no custom DIRECT_BYTE_OUTPUT found , set to true
    [DEBUG] 10:50:13.334 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'beetlGroupTemplateStarter'<class org.nutz.boot.starter.beetl.BeetlGroupTemplateStarter>
    [INFO ] 10:50:13.396 org.eclipse.jetty.util.log.Log.initialized(Log.java:169) - Logging initialized @12981ms to org.eclipse.jetty.util.log.Slf4jLog
    [DEBUG] 10:50:14.215 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'nbServletContextListener'<class org.nutz.boot.starter.servlet3.NbServletContextListener>
    [DEBUG] 10:50:14.215 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=nbServletContextListener
    [DEBUG] 10:50:14.217 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(nbServletContextListener) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:14.220 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'nbServletContextListener'<class org.nutz.boot.starter.servlet3.NbServletContextListener>
    [DEBUG] 10:50:14.220 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'nbServletContextListener' to [app]
    [DEBUG] 10:50:14.221 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class org.nutz.boot.starter.servlet3.NbServletContextListener without AOP
    [DEBUG] 10:50:14.223 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'appContext'<class org.nutz.boot.AppContext>
    [DEBUG] 10:50:14.902 org.nutz.resource.Scans.scan(Scans.java:280) - Found 4 resource by src( io/nutz/demo/ ) , regex( ^.+[.]class$ )
    [DEBUG] 10:50:14.904 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'jettyStarter'<interface org.nutz.boot.starter.ServerFace>
    [INFO ] 10:50:14.912 org.eclipse.jetty.server.Server.doStart(Server.java:359) - jetty-9.4.28.v20200408; built: 2020-04-08T17:49:39.557Z; git: ab228fde9e55e9164c738d7fa121f8ac5acd51c9; jvm 1.8.0_45-b14
    [WARN ] 10:50:15.251 org.eclipse.jetty.annotations.AnnotationParser.asmVersion(AnnotationParser.java:128) - Unrecognized ASM version, assuming ASM7
    [INFO ] 10:50:15.258 org.eclipse.jetty.annotations.AnnotationConfiguration.scanForAnnotations(AnnotationConfiguration.java:473) - Scanning elapsed time=6ms
    [INFO ] 10:50:15.268 org.eclipse.jetty.webapp.StandardDescriptorProcessor.visitServlet(StandardDescriptorProcessor.java:276) - NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
    [INFO ] 10:50:15.316 org.eclipse.jetty.server.session.DefaultSessionIdManager.doStart(DefaultSessionIdManager.java:334) - DefaultSessionIdManager workerName=node0
    [INFO ] 10:50:15.316 org.eclipse.jetty.server.session.DefaultSessionIdManager.doStart(DefaultSessionIdManager.java:339) - No SessionScavenger set, using defaults
    [INFO ] 10:50:15.328 org.eclipse.jetty.server.session.HouseKeeper.startScavenging(HouseKeeper.java:140) - node0 Scavenging every 660000ms
    [DEBUG] 10:50:15.365 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'swaggerServletStarter'<interface org.nutz.boot.starter.WebServletFace>
    [DEBUG] 10:50:15.366 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'druidWebStatServletStarter'<interface org.nutz.boot.starter.WebServletFace>
    [DEBUG] 10:50:15.375 org.nutz.boot.starter.servlet3.NbServletContextListener.lambda$contextInitialized$0(NbServletContextListener.java:99) - add Servlet name=swagger pathSpec=/swagger/swagger.json
    [DEBUG] 10:50:15.423 org.nutz.boot.starter.servlet3.NbServletContextListener.lambda$contextInitialized$0(NbServletContextListener.java:99) - add Servlet name=druid pathSpec=/druid/*
    [INFO ] 10:50:15.436 org.nutz.boot.starter.jdbc.DruidWebStatServletStarter.getInitParameters(DruidWebStatServletStarter.java:74) - druid stat view random user=druid password=46jad7m0cqictqj1bh8jeb00d4
    [DEBUG] 10:50:15.438 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'druidWebStatFilterStarter'<interface org.nutz.boot.starter.WebFilterFace>
    [DEBUG] 10:50:15.438 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'whaleFilterStarter'<interface org.nutz.boot.starter.WebFilterFace>
    [DEBUG] 10:50:15.439 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'nutFilterStarter'<interface org.nutz.boot.starter.WebFilterFace>
    [DEBUG] 10:50:15.456 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'whaleFilter'<class org.nutz.mvc.WhaleFilter>
    [DEBUG] 10:50:15.456 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=whaleFilter
    [DEBUG] 10:50:15.456 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(whaleFilter) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:15.456 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'whaleFilter'<class org.nutz.mvc.WhaleFilter>
    [DEBUG] 10:50:15.457 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'whaleFilter' to [app]
    [DEBUG] 10:50:15.460 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class org.nutz.mvc.WhaleFilter without AOP
    [DEBUG] 10:50:15.461 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'whaleFilterStarter'<>
    [DEBUG] 10:50:15.462 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'whaleFilter'<class org.nutz.mvc.WhaleFilter>
    [DEBUG] 10:50:15.465 org.nutz.boot.starter.servlet3.NbServletContextListener.lambda$contextInitialized$2(NbServletContextListener.java:138) - add filter name=whale pathSpec=/*
    [DEBUG] 10:50:15.506 org.nutz.boot.starter.servlet3.NbServletContextListener.lambda$contextInitialized$2(NbServletContextListener.java:138) - add filter name=druid pathSpec=/*
    [DEBUG] 10:50:15.507 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'nutFilter'<class org.nutz.mvc.NutFilter>
    [DEBUG] 10:50:15.507 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=nutFilter
    [DEBUG] 10:50:15.508 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(nutFilter) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:15.508 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'nutFilter'<class org.nutz.mvc.NutFilter>
    [DEBUG] 10:50:15.509 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'nutFilter' to [app]
    [DEBUG] 10:50:15.515 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class org.nutz.mvc.NutFilter without AOP
    [DEBUG] 10:50:15.515 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'nutFilterStarter'<>
    [DEBUG] 10:50:15.521 org.nutz.resource.Scans.scan(Scans.java:280) - Found 1 resource by src( org/nutz/conf/NutzDefaultConfig.js ) , regex( \.(js|json)$ )
    [DEBUG] 10:50:15.523 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'nutFilter'<class org.nutz.mvc.NutFilter>
    [DEBUG] 10:50:15.524 org.nutz.boot.starter.servlet3.NbServletContextListener.lambda$contextInitialized$2(NbServletContextListener.java:138) - add filter name=nutz pathSpec=/*
    [DEBUG] 10:50:15.529 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'swaggerServletStarter'<interface org.nutz.boot.starter.WebServletFace>
    [DEBUG] 10:50:15.530 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'druidWebStatServletStarter'<interface org.nutz.boot.starter.WebServletFace>
    [INFO ] 10:50:15.595 org.nutz.mvc.NutFilter._init(NutFilter.java:85) - NutFilter[nutz] starting ...
    [DEBUG] 10:50:15.604 org.nutz.resource.Scans.printLocations(Scans.java:527) - Locations count=4 time use 2ms
    [DEBUG] 10:50:15.611 org.nutz.mvc.config.AbstractNutConfig.createLoading(AbstractNutConfig.java:67) - Loading by class org.nutz.boot.starter.nutz.mvc.NbMvcLoading
    [INFO ] 10:50:15.619 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:55) - Nutz Version : 1.r.68.v20200309
    [INFO ] 10:50:15.620 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:56) - Nutz.Mvc[nutz] is initializing ...
    [DEBUG] 10:50:15.620 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:60) - Web Container Information:
    [DEBUG] 10:50:15.620 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:61) -  - Default Charset : UTF-8
    [DEBUG] 10:50:15.620 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:62) -  - Current . path  : /Users/xiaohanxu/IdeaProjects/demo/.
    [DEBUG] 10:50:15.620 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:63) -  - Java Version    : 1.8.0_45
    [DEBUG] 10:50:15.621 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:64) -  - File separator  : /
    [DEBUG] 10:50:15.621 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:65) -  - Timezone        : Asia/Shanghai
    [DEBUG] 10:50:15.621 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:66) -  - OS              : Mac OS X x86_64
    [DEBUG] 10:50:15.621 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:67) -  - ServerInfo      : jetty/9.4.28.v20200408
    [DEBUG] 10:50:15.622 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:68) -  - Servlet API     : 3.1
    [DEBUG] 10:50:15.622 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:73) -  - ContextPath     :
    [DEBUG] 10:50:15.622 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:74) -  - context.tempdir : /Users/xiaohanxu/IdeaProjects/demo/temp
    [DEBUG] 10:50:15.635 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:75) -  - MainModule      : io.nutz.demo.MainLauncher
    [INFO ] 10:50:15.636 org.nutz.mvc.config.AbstractNutConfig.getAppRoot(AbstractNutConfig.java:82) - /WEB-INF/ not Found?!
    [DEBUG] 10:50:15.637 org.nutz.mvc.impl.NutLoading.createContext(NutLoading.java:239) - >> app.root = ./webapp
    [INFO ] 10:50:15.656 org.nutz.mvc.impl.NutLoading.evalUrlMapping(NutLoading.java:159) - Build URL mapping by org.nutz.mvc.impl.UrlMappingImpl ...
    [DEBUG] 10:50:15.657 org.nutz.mvc.impl.NutLoading.createViewMakers(NutLoading.java:356) - add ViewMaker from Ioc by name=$views_beetl
    [DEBUG] 10:50:15.657 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get '$views_beetl'<interface org.nutz.mvc.ViewMaker>
    [DEBUG] 10:50:15.662 org.nutz.mvc.impl.NutLoading.createViewMakers(NutLoading.java:369) - @Views(BeetlViewMakerStarter.class,DefaultViewMaker.class)
    [DEBUG] 10:50:15.669 org.nutz.mvc.impl.NutLoading.createChainMaker(NutLoading.java:267) - @ChainBy(org.nutz.mvc.impl.NutActionChainMaker)
    [DEBUG] 10:50:15.697 org.nutz.mvc.impl.Loadings.scanModules(Loadings.java:155) - module class location 'file:/Users/xiaohanxu/IdeaProjects/demo/target/classes/'
    [DEBUG] 10:50:15.697 org.nutz.mvc.impl.Loadings.scanModuleInPackage(Loadings.java:185) -  > scan 'io.nutz.demo'
    [DEBUG] 10:50:15.699 org.nutz.resource.Scans.scan(Scans.java:280) - Found 4 resource by src( io/nutz/demo/ ) , regex( ^.+[.]class$ )
    [DEBUG] 10:50:15.704 org.nutz.mvc.impl.Loadings.checkModule(Loadings.java:204) -    >> add 'io.nutz.demo.MainLauncher'
    [DEBUG] 10:50:15.705 org.nutz.mvc.impl.Loadings.checkModule(Loadings.java:204) -    >> add 'io.nutz.demo.module.TimeModule'
    [DEBUG] 10:50:15.705 org.nutz.mvc.impl.Loadings.checkModule(Loadings.java:204) -    >> add 'io.nutz.demo.module.UserModule'
    [DEBUG] 10:50:15.706 org.nutz.mvc.impl.NutLoading.evalUrlMapping(NutLoading.java:196) - Use org.nutz.mvc.impl.NutEntryDeterminer as EntryMethodDeterminer
    [INFO ] 10:50:15.733 org.nutz.mvc.impl.NutActionChainMaker.getProcessorByName(NutActionChainMaker.java:72) - Optional processor class not found, disabled : org.nutz.integration.shiro.NutShiroProcessor
    [INFO ] 10:50:15.742 org.nutz.mvc.impl.NutActionChainMaker.getProcessorByName(NutActionChainMaker.java:72) - Optional processor class not found, disabled : org.nutz.plugins.validation.ValidationProcessor
    [DEBUG] 10:50:15.782 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:148) -    '/time/now'                 >> (TimeModule.java:22).now              : long       | @Ok(raw  ) @Fail(null ) | by 0 Filters | (I:UTF-8/O:UTF-8)
    [DEBUG] 10:50:15.795 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:148) -    '/'                         >> (MainLauncher.java:19).index          : void       | @Ok(->:/index.html) @Fail(null ) | by 0 Filters | (I:UTF-8/O:UTF-8)
    [DEBUG] 10:50:15.812 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:148) -    '/user/add'                 >> (UserModule.java:57).add              : NutMap     | @Ok(json:full) @Fail(null ) | by 0 Filters | (I:UTF-8/O:UTF-8)
    [DEBUG] 10:50:15.814 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:148) -    '/user/count'               >> (UserModule.java:39).count            : long       | @Ok(raw  ) @Fail(null ) | by 0 Filters | (I:UTF-8/O:UTF-8)
    [DEBUG] 10:50:15.823 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:148) -    '/user/update'              >> (UserModule.java:74).update           : NutMap     | @Ok(json:full) @Fail(null ) | by 0 Filters | (I:UTF-8/O:UTF-8)
    [DEBUG] 10:50:15.826 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:148) -    '/user/delete'              >> (UserModule.java:66).delete           : NutMap     | @Ok(json:full) @Fail(null ) | by 0 Filters | (I:UTF-8/O:UTF-8)
    [DEBUG] 10:50:15.830 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:148) -    '/user/query'               >> (UserModule.java:49).query            : NutMap     | @Ok(json:full) @Fail(null ) | by 0 Filters | (I:UTF-8/O:UTF-8)
    [INFO ] 10:50:15.830 org.nutz.mvc.impl.NutLoading.evalUrlMapping(NutLoading.java:221) - Found 7 module methods
    [DEBUG] 10:50:15.831 org.nutz.mvc.impl.NutLoading.evalLocalization(NutLoading.java:307) - Localization: org.nutz.mvc.impl.NutMessageLoader('locales/')  dft<>
    [DEBUG] 10:50:15.836 org.nutz.resource.Scans.scan(Scans.java:280) - Found 0 resource by src( locales/ ) , regex( ^.+[.]properties$ )
    [DEBUG] 10:50:15.837 org.nutz.mvc.impl.NutMessageLoader.load(NutMessageLoader.java:27) - Load Messages in 0 resource : [[]]
    [DEBUG] 10:50:15.837 org.nutz.mvc.impl.NutMessageLoader.load(NutMessageLoader.java:95) - Message Loaded, size = 0
    [INFO ] 10:50:15.839 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:141) - Nutz.Mvc[nutz] is up in 204ms
    [INFO ] 10:50:15.841 org.nutz.mvc.NutFilter._init(NutFilter.java:117) - exclusionsPrefix  = ^(/druid/)
    [INFO ] 10:50:15.845 org.nutz.mvc.NutFilter._init(NutFilter.java:125) - exclusionsPath   = [/swagger/swagger.json]
    [DEBUG] 10:50:15.914 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'swagger'<class io.swagger.models.Swagger>
    [DEBUG] 10:50:15.915 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=swagger
    [DEBUG] 10:50:15.915 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(swagger) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:15.916 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'swagger'<class io.swagger.models.Swagger>
    [DEBUG] 10:50:15.916 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'swagger' to [app]
    [DEBUG] 10:50:15.960 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class io.swagger.models.Swagger without AOP
    [DEBUG] 10:50:15.961 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'swaggerServletStarter'<>
    [DEBUG] 10:50:16.025 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'swaggerInfo'<class io.swagger.models.Info>
    [DEBUG] 10:50:16.027 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=swaggerInfo
    [DEBUG] 10:50:16.028 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(swaggerInfo) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:16.029 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'swaggerInfo'<class io.swagger.models.Info>
    [DEBUG] 10:50:16.029 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'swaggerInfo' to [app]
    [DEBUG] 10:50:16.031 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class io.swagger.models.Info without AOP
    [DEBUG] 10:50:16.031 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'swaggerServletStarter'<>
    [DEBUG] 10:50:16.061 org.nutz.resource.Scans.scan(Scans.java:280) - Found 4 resource by src( io/nutz/demo/ ) , regex( ^.+[.]class$ )
    [DEBUG] 10:50:16.288 io.swagger.servlet.extensions.ReaderExtensions.<clinit>(ReaderExtensions.java:30) - adding extension io.swagger.servlet.extensions.ServletReaderExtension@535f4192
    [DEBUG] 10:50:17.199 io.swagger.converter.ModelConverterContextImpl.resolveProperty(ModelConverterContextImpl.java:78) - resolveProperty class java.lang.Long
    [DEBUG] 10:50:17.200 io.swagger.jackson.ModelResolver.resolveProperty(ModelResolver.java:133) - resolveProperty [simple type, class java.lang.Long]
    [DEBUG] 10:50:17.388 io.swagger.converter.ModelConverterContextImpl.resolveProperty(ModelConverterContextImpl.java:78) - resolveProperty class java.lang.Long
    [DEBUG] 10:50:17.390 io.swagger.jackson.ModelResolver.resolveProperty(ModelResolver.java:133) - resolveProperty [simple type, class java.lang.Long]
    [DEBUG] 10:50:17.396 io.swagger.converter.ModelConverterContextImpl.resolveProperty(ModelConverterContextImpl.java:78) - resolveProperty class org.nutz.lang.util.NutMap
    [DEBUG] 10:50:17.397 io.swagger.jackson.ModelResolver.resolveProperty(ModelResolver.java:133) - resolveProperty [map type; class org.nutz.lang.util.NutMap, [simple type, class java.lang.String] -> [simple type, class java.lang.Object]]
    [DEBUG] 10:50:17.400 io.swagger.converter.ModelConverterContextImpl.resolveProperty(ModelConverterContextImpl.java:78) - resolveProperty [simple type, class java.lang.Object]
    [DEBUG] 10:50:17.400 io.swagger.jackson.ModelResolver.shouldIgnoreClass(ModelResolver.java:108) - Can't check class [simple type, class java.lang.Object], java.lang.Object
    [DEBUG] 10:50:17.400 io.swagger.jackson.ModelResolver.resolveProperty(ModelResolver.java:133) - resolveProperty [simple type, class java.lang.Object]
    [DEBUG] 10:50:17.402 io.swagger.converter.ModelConverters.readAll(ModelConverters.java:97) - ModelConverters readAll with JsonView annotation from class org.nutz.lang.util.NutMap
    [DEBUG] 10:50:17.402 io.swagger.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:96) - resolve class org.nutz.lang.util.NutMap
    [DEBUG] 10:50:17.402 io.swagger.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:102) - trying extension io.swagger.jackson.ModelResolver@2821de
    [DEBUG] 10:50:17.413 io.swagger.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:96) - resolve [simple type, class java.lang.Object]
    [DEBUG] 10:50:17.414 io.swagger.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:102) - trying extension io.swagger.jackson.ModelResolver@2821de
    [DEBUG] 10:50:17.414 io.swagger.jackson.ModelResolver.shouldIgnoreClass(ModelResolver.java:108) - Can't check class [simple type, class java.lang.Object], java.lang.Object
    [INFO ] 10:50:17.453 org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:843) - Started o.e.j.w.WebAppContext@4646cca2{/,[file:///Users/xiaohanxu/IdeaProjects/demo/target/classes/static/, jar:file:/Users/xiaohanxu/.m2/repository/org/nutz/nutzboot-starter-swagger/2.4.0.v20200427/nutzboot-starter-swagger-2.4.0.v20200427.jar!/static/],AVAILABLE}
    [INFO ] 10:50:17.640 org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:331) - Started ServerConnector@76e60e45{HTTP/1.1, (http/1.1)}{127.0.0.1:8080}
    [INFO ] 10:50:17.641 org.eclipse.jetty.server.Server.doStart(Server.java:399) - Started @17226ms
    [DEBUG] 10:50:17.641 org.nutz.boot.starter.jetty.JettyStarter.start(JettyStarter.java:179) - Jetty monitor props:
    ----------------------------------------------
    http.port                                : 8080
    http.host                                : 127.0.0.1
    http.idleTimeout                         : 300000
    https.enable                             : false
    welcome_files                            : index.html,index.htm,index.do
    maxFormContentSize                       : 1073741824
    ----------------------------------------------
    [DEBUG] 10:50:17.645 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'mainLauncher'<class io.nutz.demo.MainLauncher>
    [DEBUG] 10:50:17.646 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=mainLauncher
    [DEBUG] 10:50:17.646 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(mainLauncher) in AnnotationIocLoader(packages=[io.nutz.demo])
    [DEBUG] 10:50:17.647 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'mainLauncher'<class io.nutz.demo.MainLauncher>
    [DEBUG] 10:50:17.647 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'mainLauncher' to [app]
    [DEBUG] 10:50:17.647 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class io.nutz.demo.MainLauncher without AOP
    [DEBUG] 10:50:17.651 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'conf'<class org.nutz.ioc.impl.PropertiesProxy>
    [DEBUG] 10:50:17.651 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'dao'<interface org.nutz.dao.Dao>
    [DEBUG] 10:50:17.652 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=dao
    [DEBUG] 10:50:17.652 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(dao) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:17.652 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'dao'<interface org.nutz.dao.Dao>
    [DEBUG] 10:50:17.652 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'dao' to [app]
    [DEBUG] 10:50:17.653 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'dataSource'<interface javax.sql.DataSource>
    [DEBUG] 10:50:17.653 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=dataSource
    [DEBUG] 10:50:17.653 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(dataSource) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:17.653 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'dataSource'<interface javax.sql.DataSource>
    [DEBUG] 10:50:17.653 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'dataSource' to [app]
    [DEBUG] 10:50:17.653 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'dataSourceStarter'<>
    [DEBUG] 10:50:17.654 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'druidDataSource'<interface javax.sql.DataSource>
    [DEBUG] 10:50:17.654 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=druidDataSource
    [DEBUG] 10:50:17.681 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(druidDataSource) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:17.682 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'druidDataSource'<interface javax.sql.DataSource>
    [DEBUG] 10:50:17.682 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'druidDataSource' to [app]
    [DEBUG] 10:50:17.682 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'dataSourceStarter'<>
    [DEBUG] 10:50:17.918 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'sqlManager'<interface org.nutz.dao.SqlManager>
    [DEBUG] 10:50:17.919 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) -     >> Load definition name=sqlManager
    [DEBUG] 10:50:17.919 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(sqlManager) in AnnotationIocLoader(packages=[org.nutz.boot.starter])
    [DEBUG] 10:50:17.919 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) -     >> Make...'sqlManager'<interface org.nutz.dao.SqlManager>
    [DEBUG] 10:50:17.920 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'sqlManager' to [app]
    [DEBUG] 10:50:17.920 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'nutDaoStarter'<>
    [DEBUG] 10:50:17.973 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:76) - Load class org.nutz.dao.impl.NutDao without AOP
    [DEBUG] 10:50:17.973 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'dataSource'<interface javax.sql.DataSource>
    [DEBUG] 10:50:17.973 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'sqlManager'<interface org.nutz.dao.SqlManager>
    [DEBUG] 10:50:17.974 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'nutDaoStarter'<>
    [DEBUG] 10:50:18.181 org.nutz.dao.jdbc.Jdbcs.<clinit>(Jdbcs.java:90) - Jdbcs init complete
    [INFO ] 10:50:18.181 org.nutz.dao.jdbc.Jdbcs.getExpert(Jdbcs.java:103) - Get Connection from DataSource for JdbcExpert, if you lock at here, check your database server and configure
    [ERROR] 10:50:18.493 com.alibaba.druid.pool.DruidDataSource.validationQueryCheck(DruidDataSource.java:1213) - testWhileIdle is true, validationQuery not set
    [INFO ] 10:50:18.503 com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:1010) - {dataSource-1} inited
    [DEBUG] 10:50:19.440 org.nutz.dao.impl.DaoSupport.setDataSource(DaoSupport.java:190) - select expert : org.nutz.dao.impl.jdbc.h2.H2JdbcExpert
    [DEBUG] 10:50:19.469 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:201) - JDBC Driver --> 1.4.196 (2017-06-10)
    [DEBUG] 10:50:19.469 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:202) - JDBC Name   --> H2 JDBC Driver
    [DEBUG] 10:50:19.469 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:204) - JDBC URL    --> jdbc:h2:mem:~
    [DEBUG] 10:50:19.470 org.nutz.dao.impl.DaoSupport.setDataSource(DaoSupport.java:223) - Database info --> H2:[H2 - 1.4.196 (2017-06-10)]
    [DEBUG] 10:50:19.484 org.nutz.resource.Scans.scan(Scans.java:280) - Found 0 resource by src( sqls/ ) , regex( .(sql|sqlx|sqls)$ )
    [DEBUG] 10:50:19.484 org.nutz.dao.impl.DaoSupport.setSqlManager(DaoSupport.java:123) - SqlManager Sql count=0
    [DEBUG] 10:50:19.641 org.nutz.dao.impl.sql.run.NutDaoExecutor.printSQL(NutDaoExecutor.java:391) - CREATE TABLE t_user(
    id SERIAL,
    name VARCHAR(128) UNIQUE NOT NULL,
    age NUMERIC(8),
    location VARCHAR(128),
    CONSTRAINT t_user_pkey PRIMARY KEY (id)
    )
    [DEBUG] 10:50:19.688 org.nutz.dao.impl.sql.run.NutDaoExecutor.printSQL(NutDaoExecutor.java:391) - SELECT COUNT(*) FROM t_user
    [DEBUG] 10:50:19.741 org.nutz.dao.impl.sql.run.NutDaoExecutor.printSQL(NutDaoExecutor.java:391) - INSERT INTO t_user(name,age,location) VALUES(?,?,?)
        |      1 |  2 |  3 |
        |--------|----|----|
        | wendal | 18 | 广州 |
      For example:> "INSERT INTO t_user(name,age,location) VALUES('wendal',18,'广州') "
    [INFO ] 10:50:19.777 org.nutz.boot.NbApp.execute(NbApp.java:219) - NB started : 8416ms
    [DEBUG] 11:08:14.030 org.nutz.mvc.impl.UrlMappingImpl.get(UrlMappingImpl.java:112) - Search mapping for [GET] path=/swagger-ui : NOT Action match
    [DEBUG] 11:11:02.709 org.nutz.mvc.impl.UrlMappingImpl.get(UrlMappingImpl.java:112) - Search mapping for [GET] path=/swagger/index : NOT Action match
    [DEBUG] 11:11:03.266 org.nutz.mvc.impl.UrlMappingImpl.get(UrlMappingImpl.java:112) - Search mapping for [GET] path=/swagger/googlefonts/Titillium+Web_700_normal : NOT Action match
    [DEBUG] 11:11:03.397 org.nutz.mvc.impl.UrlMappingImpl.get(UrlMappingImpl.java:112) - Search mapping for [GET] path=/swagger/googlefonts/Source+Code+Pro_600_normal : NOT Action match
    [DEBUG] 11:11:03.399 org.nutz.mvc.impl.UrlMappingImpl.get(UrlMappingImpl.java:112) - Search mapping for [GET] path=/swagger/googlefonts/Open+Sans_400_normal : NOT Action match
    [DEBUG] 11:11:05.597 org.nutz.mvc.impl.UrlMappingImpl.get(UrlMappingImpl.java:112) - Search mapping for [GET] path=/swagger/googlefonts/Open+Sans_700_normal : NOT Action match
    [DEBUG] 11:11:05.598 org.nutz.mvc.impl.UrlMappingImpl.get(UrlMappingImpl.java:112) - Search mapping for [GET] path=/swagger/googlefonts/Titillium+Web_400_normal : NOT Action match
    

    相关文章

      网友评论

        本文标题:nutzboot 游记 - 01

        本文链接:https://www.haomeiwen.com/subject/wwjdrltx.html