Spring的从头深入学习

234 阅读2分钟

「本文已参与「新人创作礼」活动,一起开启掘金创作之路。」

1. 特点

1.1 轻量级

从大小和开销都是轻量的,是非入侵时的,典型的,应用中的对象不依赖于spring的特定类

1.2

控制反转 IOC的技术促进了低耦合 一个对象依赖的其他对象会通过被动的方式传递进来, 而不是这个对象自己创建或者查找依赖对象

1.3

面向切面 把应用业务逻辑和系统服务分开

1.4

容器

1.5 框架集合

2.常用注解

2.1 @Controller

用于标注控制层组件, 使用它标记的就是一个springMVC Controller对象

2.2

@RestController 相当于@ResponseBody 和 @Controller的组合

2.3

@Component 归类为组件

2.4

@Repository 注解Dao层面,在daoImpl类上使用

2.5 @Service

标注业务层

2.6 @ResponseBody

用于Controller的方法返回的对象,返回的不是html 而是其他格式的数据 如 json,xml等

2.7 @RequestMapping

路由

2.8 @Autowired

完成自动装配的工作

2.9 @Pathvariable

取出url模板中的变量作为参数

2.10 @RequestParam

控制层获取参数,类似于 request.getParameter("name")

2.11 @RequestHeader

请求的hearer部分绑定到方法参数上

IOC

依赖查找与依赖注入的对比(IOC的两种)

1.作用目标不同

依赖注入的作用目标通常是类成员 依赖查找的作用目标可以是方法体内,也可以是方法体外

2.实现方式不同

依赖注入通常借助一个上下文被动的接收 依赖查找通常主动使用上下文搜索

BeanFactory与ApplicationContext的对比

BeanFactory 接口提供了一个抽象的配置和对象的管理机制, ApplicationContext 是 BeanFactory 的子接口, 它简化了与 AOP 的整合、消息机制、事件机制, 以及对 Web 环境的扩展( WebApplicationContext 等),BeanFactory 是没有这些扩展的。