[{"title":"( 18 个子文件 1.1MB ) Spring 5核心原理与30个类手写实战【第七章】 源码","children":[{"title":"spring-build-demo","children":[{"title":"src","children":[{"title":"main","children":[{"title":"resources","children":[{"title":"application.properties <span style='color:#111;'> 27B </span>","children":null,"spread":false}],"spread":true},{"title":"java","children":[{"title":"org","children":[{"title":"qnloft","children":[{"title":"demo","children":[{"title":"controller","children":[{"title":"DemoController.java <span style='color:#111;'> 1.98KB </span>","children":null,"spread":false}],"spread":true},{"title":"service","children":[{"title":"impl","children":[{"title":"DemoServiceImpl.java <span style='color:#111;'> 488B </span>","children":null,"spread":false}],"spread":true},{"title":"DemoServiceI.java <span style='color:#111;'> 273B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"mvcframework","children":[{"title":"v1","children":[{"title":"servlet","children":[{"title":"QnDispatcherServlet.java <span style='color:#111;'> 855B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"v3","children":[{"title":"servlet","children":[{"title":"QnDispatcherServlet.java <span style='color:#111;'> 14.52KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"v2","children":[{"title":"servlet","children":[{"title":"QnDispatcherServlet.java <span style='color:#111;'> 12.37KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"annotation","children":[{"title":"QnRequestParam.java <span style='color:#111;'> 369B </span>","children":null,"spread":false},{"title":"QnService.java <span style='color:#111;'> 359B </span>","children":null,"spread":false},{"title":"QnAutowired.java <span style='color:#111;'> 362B </span>","children":null,"spread":false},{"title":"QnRequestMapping.java <span style='color:#111;'> 385B </span>","children":null,"spread":false},{"title":"QnController.java <span style='color:#111;'> 362B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"webapp","children":[{"title":"index.jsp <span style='color:#111;'> 52B </span>","children":null,"spread":false},{"title":"WEB-INF","children":[{"title":"web.xml <span style='color:#111;'> 718B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"test","children":[{"title":"org","children":[{"title":"qnloft","children":[{"title":"test","children":[{"title":"servlet","children":[{"title":"v2","children":[{"title":"QnDispatcherServletTest.java <span style='color:#111;'> 265B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"spring-build-demo.iml <span style='color:#111;'> 1.79KB </span>","children":null,"spread":false},{"title":"pom.xml <span style='color:#111;'> 2.98KB </span>","children":null,"spread":false},{"title":"target","children":null,"spread":false},{"title":"QQ20191003-232434.mp4 <span style='color:#111;'> 1.13MB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]