商城网站建设一般需要多少钱营销型网站的重要特点
2026/4/17 21:55:29 网站建设 项目流程
商城网站建设一般需要多少钱,营销型网站的重要特点,网站建设有几种方法,东莞网上申报系统简单看了看写了些#xff0c;Spring最简单的一个实现#xff0c;实现了什么具体如下一、 初始化阶段步骤序号初始化阶段核心方法主要作用关键数据结构变化1加载配置文件doLoadConfig()读取 contextConfigLocation 指定的配置文件#xff08;如 application.properties#…简单看了看写了些Spring最简单的一个实现实现了什么具体如下一、 初始化阶段步骤序号初始化阶段核心方法主要作用关键数据结构变化1加载配置文件doLoadConfig()读取contextConfigLocation指定的配置文件如application.propertiescontextConfig中加载scanPackage2包扫描doScanner()根据scanPackage扫描所有.class文件classNames保存所有全限定类名3IoC 实例化doInstance()对GPController、GPService标注的类进行实例化ioc中放入 Bean 实例4依赖注入DIdoAutowired()给GPAutowired字段注入依赖ioc内对象完成属性赋值5初始化映射关系doInitHandlerMapping()建立 URL → Method 的映射关系handlerMapping填充6初始化完成init()结束框架启动完成可接收请求MVC 框架可工作doLoadConfig扫描相关类IoC 实例化String className : classNames来我自己聊聊注解扫描GPControllerclazz 反射实例化然后添加进容器name 和calssGPServiceGPService 获取value如果有优选name2.正常注入3.接口获取2️⃣ 为什么要把接口也放进 IOC这一步的目的只有一个GPAutowiredprivate UserService userService;key “com.xxx.UserService”value UserServiceImpl 的实例private void doInstance() { if(classNames.isEmpty()){return;} try { for (String className : classNames) { Class? clazz Class.forName(className); if(clazz.isAnnotationPresent(GPController.class)) { //key提取出来了把value也搞出来 String beanName toLowerFirstCase(clazz.getSimpleName()); Object instance clazz.newInstance(); ioc.put(beanName, instance); }else if(clazz.isAnnotationPresent(GPService.class)){ //1、在多个包下出现相同的类名只能寄几自己起一个全局唯一的名字 //自定义命名 String beanName clazz.getAnnotation(GPService.class).value(); if(.equals(beanName.trim())){ beanName toLowerFirstCase(clazz.getSimpleName()); } //2、默认的类名首字母小写 Object instance clazz.newInstance(); ioc.put(beanName, instance); //3、如果是接口 //判断有多少个实现类如果只有一个默认就选择这个实现类 //如果有多个只能抛异常 for (Class? i : clazz.getInterfaces()) { if(ioc.containsKey(i.getName())){ throw new Exception(The i.getName() is exists!!); } ioc.put(i.getName(),instance); } }else{ continue; } } }catch (Exception e){ e.printStackTrace(); } }依赖注入思路扫描bean下的方法是否有对应注解如果有那么根据ioc容器的类型名字拿取bean然后反射bean下的变量进行set初始化HandlerMapping映射拿取conroller的注解拿取method上的注解拿出url 。然后映射url对应method。public class GPDispatchServlet extends HttpServletHttpServlet 是 Java EEJakarta EE中提供的HTTP 协议专用 Servlet 基类它封装了对 HTTP 请求的处理逻辑。GPDispatchServlet 继承 HttpServlet 的核心作用是复用 HttpServlet 提供的成熟 Web 请求处理骨架无需从零实现 Servlet 的底层规范直接获得处理 HTTP GET/POST 等请求的能力。在这份手写简易 Spring MVC 框架的代码中GPDispatchServlet 并非一个普通的 Servlet而是整个 MVC框架的核心前端控制器Front Controller这是一种经典的设计模式应用。 它的核心职责是统一接收所有客户端的 HTTP请求作为请求入口的 “总闸门”再将请求分发给对应的业务处理组件如 DemoAction 中的具体方法而非为每个业务功能创建单独的Servlet。委派思路继承servlet获取前端控制器写doget 和post 写调用器作用拿取request的url跟urlmap进行对应。如果对应上。那么进入执行1.参数处理2.根据method拿去calss的名字然后进行反射invokeurl对应http://localhost:8080/gupaoedu_vip_spring_war/demo/query?nameJerryparams {ParameterMap3166} size 1“name” - {String[1]3173} [“Jerry”]很有意思的参数处理GPRequestParam运行控制器

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询