spring笔记

spring核心思想

第一阶段:配置阶段

1.web.xml -> J2ee规范(Servlet/Filter/Listener)->DispatcherServlet
设定init-param->设定url-pattern
2.配置Annotation.(@Controller,@Service,@Autowired,@RequestMapping)

第二阶段:初始化阶段

DispatcherServlet的init()读取web.xml信息,根据contextConfigLocation对应的值读取spring的主配置文件classpath:application.xml
1.IOC初始化-> 加载Spring的配置文件,配置各种各样的Been(beenName,beenClass)->缓存起来
Class.forName(beenClass)得到Class对象,通过反射把对象实例创建出来 ->缓存到IOC容器Map<String,Object>
2.DI(依赖注入) -> 重新迭代IOC容器中的Been,检查Been的属性,根据@Autowried自动赋值
3.MVC ->将Annotation配置的url和Controller的method建立一对一的映射关系
先判断@Controller注解-> 用反射把public方法扫描出来 -> 读取并解析@RequestMapping中配置的url -> 缓存Map<String,Method> handerMapping

第三阶段:运行阶段

doPost/doGet service() -> 拿到request(ImportStream的封装),response(OutStream的封装)对象 -> request.getRequestURL()拿到用户在浏览器地址栏输入的url -> 到handerMapping中找到url对应的method -> 用反射调用method得到返回值 -> response.Writer()输出HTML/JSON

在这里插入图片描述

Spring中的Been是不是线程安全的

Spring中的Been = IOC容器中的Been = 程序员自己写的Been
答案:不一定安全,Been的安全性只跟程序员自己写的Been是否线程安全有关,跟Spring无关

Spring中最重要的模块有哪些

IOC,AOP,DI,MVC

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值