当前位置: 首页 > news >正文

300行代码手写spring初体验v1.0版本

70%猜想+30%验证

spring:IOC 、DI、AOP、MVC

MVC作为入口

web.xml

内部依赖一个DispathcheServlet这样一个接口

先来说一下springMVC的一些基础知识

 整体的一个思路:

 在web.xml里面进行了一个核心servlet的一个配置 

核心就是这个DispatcherServlet 

那么在web.xml里面的配置可以去看一下

 内部要加在一个spring-mvc.xml一个文件,用于作为启动参数

这个文件可以拿来看一下

resources/spring-mvc.xml文件

 我们在做ssm整合配置的时候,就弄清楚了,springmvc它主要去扫描的是controller这个包,另外两个包一个service与dao是交给了spring管理

spring的IOC与DI

一个是反转控制(IOC),简单来说,就是把对象交给容器来管理

一个是DI(依赖注入),通过注解拿到spring容器中的对象注入到属性里面

好了就先说上面这两个,搭建环境

 我们先来说一下整体的思路:

  

我们先把需要的注解这几个类给写了

 

 想要使用servlet记得先导包

下面去修改一下web工程的核心配置文件:web.xml文件

把里面的servlet改成我们自己的servlet

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:javaee="http://java.sun.com/xml/ns/javaee"xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"version="2.4"><display-name>pxx Web Application</display-name><servlet><servlet-name>pmvc</servlet-name><servlet-class>com.pxx.mvcframework.v1.servlet.PDispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>application.properties</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>pmvc</servlet-name><url-pattern>/*</url-pattern></servlet-mapping>
</web-app>

然后我们去init()方法里面做如下几个方法操作

 整一个配置文件

config.getInitParameter("contextConfigLocation")

从web.xml里面拿到下面这个启动参数

 

 

 

 

 

 

 

http://www.lryc.cn/news/13464.html

相关文章:

  • 100天精通Python(数据分析篇)——第76天:Pandas数据类型转换函数pd.to_numeric(参数说明+实战案例)
  • 链表(超详细--包教包会)
  • 爬虫基本知识的认知(爬虫流程 HTTP构建)| 爬虫理论课,附赠三体案例
  • Ubuntu20.04如何安装虚拟机(并安装Android)
  • 【腾讯一面】我对我的Java基础不自信了
  • 前端都在聊什么 - 第 2 期
  • 每天一道大厂SQL题【Day11】微众银行真题实战(一)
  • Cosmos 基础教程(一) -- 不可不知的开发术语
  • JAVA JDK 常用工具类和工具方法
  • Spring Bean循环依赖
  • Hive 2.3.0 安装部署(mysql 8.0)
  • IPD术语表
  • 目标检测损失函数 yolos、DETR为例
  • linux系统编程2--网络编程socket
  • FPGA纯Verilog实现任意尺寸图像缩放,串口指令控制切换,贴近真实项目,提供工程源码和技术支持
  • 华为OD机试题 - 最长合法表达式(JavaScript)| 代码+思路+重要知识点
  • L1-005 考试座位号
  • Obsidian + remotely save + 坚果云:实现电脑端和手机端的同步
  • 对比学习MoCo损失函数infoNCE理解(附代码)
  • logd守护进程
  • 【汽车雷达通往自动驾驶的关键技术】
  • 2023实习面经
  • linux shell 入门学习笔记2shell脚本
  • Android稳定性系列-01-使用 Address Sanitizer检测原生代码中的内存错误
  • HyperOpt-quniform 范围问题
  • Pycharm搭建一个Django项目
  • 浅析前端工程化中的一部曲——模块化
  • 新版bing(集成ChatGPT)申请通过后在谷歌浏览器(Chrome)上的使用方法
  • Time-distributed 的理解
  • matlab 计算矩阵的Moore-Penrose 伪逆