(一)  手写IOC思路

  1.扫包,将所有class文件加载到内存,判断类上是否加了ExtService注解,有就添加入map中 ,  map<String ,Object>;  key是类名,value是对象
  2.遍历map,获取每个对象的所有属性,判断属性上是否有ExtAutowire,有就以属性名称为key从map中得到对应的value,通过反射给属性赋值

   项目结构:

(二) 手写springmvc思路

1.创建一个前端控制器(Servlet)
2.在init方法中,将扫包范围的有ExtController注解的类,注入到springmvc容器里面,存放在Map集合中 key为默认类名小写,value 对象
3.handlerMapping的组装,遍历springmvc容器,将url映射和方法进行关联,关联可以用两个map表示,一个是url和controller对象对应,一个是url和方法对应
4.重写Get或者是Post方法,获取请求的url, 从handlerMapping找到对应方法执行,通过response对象返回响应

项目结构:

(二) 手写数据库连接池思路

1.准备两个集合,一个是空闲连接集合,一个是活动连接集合

2.初始化连接池,创建initialSize个连接放入空闲连接集合中

3.获取连接:在当前活动连接小于MaxActive时,如果空闲连接集合有连接,从中取出一个放入活动连接集合中(引用),并返回取出的连接

4.释放连接:当空闲连接集合没有满的情况下,将连接放入空闲连接集合中(引用),如果空闲连接集合满了,就将连接关闭,活动连接集合中删除该引用

  项目结构:

  

  github地址:https://github.com/jake1263/IOC-SPRINGMVC-CONNPOOL.git

最新文章

  1. 如何修改SharePoint2013服务器场帐号密码
  2. Leetcode: Surrounded regions
  3. 当padding,margin,top为百分比值,具体数值如何计算
  4. 【leetcode】 Unique Path ||(easy)
  5. 【131031】struts 1 中 &lt;html:form&gt;
  6. 重写HashMap
  7. C++ inline weak symbol and so on
  8. iOS开发——实战总结OC篇&amp;网易彩票开发知识点总结
  9. Jmeter java协议配置文件导入
  10. poj 2456 Aggressive cows(二分搜索之最大化最小值)
  11. nand驱动移植
  12. MySQL的小Tips
  13. windows下用C++修改本机IP地址
  14. tomcat和server安装和操作
  15. OpenCV-Python教程8-图像混合
  16. DAX/PowerBI系列 - 参数表(Parameter Table) - 大客户分析(Top N)
  17. Spring MVC前后端数据交互总结
  18. Node.js使用MySQL的连接池
  19. Oracle基础了解
  20. 使用XML向SQL Server 2005批量写入数据——一次有关XML时间格式的折腾经历

热门文章

  1. java代码实现文件的下载功能
  2. TCP网络程序设计
  3. GoCN每日新闻(2019-10-13)
  4. elasticsearch: can not run elasticsearch as root
  5. Tcl数学运算
  6. 把pdf的内容转化为txt文件
  7. RUN vs CMD vs ENTRYPOINT
  8. MacOS安装rJava
  9. TTA 方法
  10. ajax发送json数据时为什么需要设置contentType: &quot;application/json”