Spring Ioc容器的工作原理
Spring IOC(控制反转)
(1)在声明javaBean的时候,都会在类上面声明@service @Repository注解
(2)当声明这些注解的时候 Tomcat启动的过程中 Tomcat会扫描哪些类声明了这些注解,同时把他们创建对象,对象创建完毕,把对象丢到Map容器中。
创建对象举例:
Map iocMap=new HashMap();
OrderService orderService=new OrderService();
iocMap.put("orderService",orderSerice);
(3)如何使用@Autowired注解获取对象
@Autowired
private OrderService orderService ;
@Autowired做的事 把当前的变量 orderService 当做Key 到Map容器中 入get(Key) 拿到value值 把这个值赋值到这个变量上。
其实ioc容器 值一个很大的Map容器 来通过键值对封装javaBean对象
思考问题:为什么在浏览器中递交一个请求 http//127.0.0.1:8080/XX/XX 就能找到controller类下面的method呢?
答:Controller中有个handlerMapping 解析我们:XXcontroller类 解析完成之后 找到 XX/XX请求路径之后 把他们拼接起来与我们的method做一个 key value 的一 一匹配