Spring的深入学习结合面试题(一)
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
*
一、spring是什么?spring的特点和优势*。
- spring是一个轻量级的开发框架,是可以整合其他框架的框架。它的核心是IOC和AOP,它由二十多个模块组成。它的主要作用就是为了代码的“解耦”,就是让代码和代码之间的关系不再使用代码关联,而是通过配置说明。特点:使用IOC容器降低业务之间的耦合度,IOC容器使得主业务在互相调用的过程中,不再自己维护关系,也不用再自己创建对象,而是通过Spring的IOC容器来统一管理,自动注入,即自动赋值。而AOP是的系统级的服务得到了最大服用,而且不用再由程序员手动将系统级服务“混杂”到主业务逻辑,而是由Spring容器统一完成“织入”。
二、Spring的特点?
(1)轻量级
(2)面向接口编程 :使用接口就是面向灵活,项目的可扩展性和可维护性都极高。接口不关系实现类的类型,使用时接口指向实现类,切换实现类即可切换功能。
(3)AOP:面向切面编程
就是将公共的,通用的,重复的代码单独开发,在需要的时候“反织”回去,底层原理:动态代理。
(4)整合其他框架:整合其他框架可以使其他框架更容易使用。
三、什么是IOC?
(1)控制翻转(Inverion of control)是一种思想,Spring通过对象的创建和依赖的注入来实现(DI);
(2)传统创建对象的方法有三种:new,反射,工程模式。
四、Spring中对象的创建和属性的注入
1.使用xml配置文件的方式注入基本属性
方式①
方式②使用构造方法注入
1)使用构造方法的参数名称注入。(通过有参构造器)
2)使用构造方式的参数名下标的方式注入
3)使用构造方法的参数名默认顺序注入
2.使用xml配置文件的方式引入外部属性
五、基于注解的方式创建对象和属性的注入
1.基于注解的注入方式需要在配置文件中添加包扫描
<context:component-scan base-package = "xxxx"/>
2.Spring对象为我们提供四种创建对象的注解
@Component:可以创建任意对象,创建对象的默认名称是对象类名的驼峰命名法,也可以指定名称。
@Controller:专门创建控制层的对象,这类对象用于接收用户的请求,返回处理结果给客户端
@Service:专门用来创建业务逻辑的对象,赋值向下访问数据层, 然后返回结果给控制层
@Repository:专门用来给数据访问层创建对象,改类对象负责对象的增删改查。
3.属性注入的注解
a.简单类型的注解:@Value(包含八种基本类型和String的注入)
b.引用类型的注解:@Autowired
** 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
@TOC
总结
本章节只总结了Spring的一些基本知识和IOC的基本使用,IOC的源码剖析和其他知识会在后续章节跟进。