Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

JAVA面试知识点总结 PDF 下载


分享到:
时间:2020-12-05 13:24来源:http://www.java1234.com 作者:转载  侵权举报
JAVA面试知识点总结 PDF 下载
失效链接处理
JAVA面试知识点总结  PDF 下载


本站整理下载:
提取码:wrif 
 
 
相关截图:
 
主要内容:

spring 框架:就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的ioc和 aop,ioc 提供了依赖注入的容器, aop解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。
Spring MVC:提供了一种轻度耦合的方式来开发web应用。它是Spring的一个模块,是一个web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。
SpringMVC是一个MVC的开源框架,SpringMVC=struts2+spring,springMVC就相当于是Struts2加上Spring的整合。
Spring Boot:实现了自动配置,降低了项目搭建的复杂度。它主要是为了解决使用Spring框架需要进行大量的配置太麻烦的问题,所以它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box)。
 
一、Spring框架
Spring为简化我们的开发工作,封装了一系列的开箱即用的组件功能模块,包括:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test等。
1.1 IOC 和AOP
什么是IOC:控制反转
哪些方面反转:获得依赖对象的过程被反转了,获得依赖对象的过程由自身管理变成了由Spring IOC容器自动注入,Spring容器在运行期间,动态的注入对象,并且将某种依赖关系注入到对象之中。
AOP:通过预编译方式或者运行期动态代理实现程序功能的统一维护的一种技术
主要用于:日志记录,性能统计,安全控制,事务处理,异常处理等等
还可以拓展AOP用于处理请求统一拦截做权限验证、做统一的异常处理、请求访问统计
 
1.2注入方式
构造器注入
设值注入
接口注入
 
1.3 SpringBoot
Spring Boot只是Spring本身的扩展,使开发,测试和部署更加方便。优点:
1.基于Spring,使开发者快速入门,门槛很低
2.SpringBoot可以创建独立运行的应用而不依赖于外部容器,直接启动运行
3.提供maven极简配置,缺点需要引入很多不需要的包
4.可以更加项目来依赖,从而配置Spring,需要什么配置什么
5.提供可视化的相关功能,方便监控,比如性能和应用的健康监控
6.简化xml配置
7.为微服务SpringCloud铺路,可以整合各种微服务框架
1.3 SpringBean生命周期
实例化 -> 属性赋值 -> 初始化 -> 销毁
Spring Bean的生命周期只有这四个阶段。把这四个阶段和每个阶段对应的扩展点糅合在一起虽然没有问题,但是这样非常凌乱,难以记忆。要彻底搞清楚Spring的生命周期,首先要把这四个阶段牢牢记住。实例化和属性赋值对应构造方法和setter设值注入,初始化和销毁是用户能自定义扩展的两个阶段。在这四步之间穿插的各种扩展点,稍后会讲。
1.实例化 Instantiation
2.属性赋值 Populate
3.初始化 Initialization
4.销毁 Destruction: 当容器关闭时,调用bean的销毁方法 
参考链接:  https://www.cnblogs.com/javazhiyin/p/10905294.html
 
可以简述为以下七步
1.实例化bean对象(通过构造方法或者工厂方法)
2.设置bean对象属性(setter设值注入)
3.检查Bean是否实现Aware相关接口并设置相关依赖
1)如果Bean实现了BeanNameAware接口,工厂调用Bean的setBeanName()方法传递Bean的ID。(和下面的一条均属于检查Aware接口)。
2)如果Bean实现了BeanFactoryAware接口,工厂调用setBeanFactory()方法传入工厂自身。
3)如果Bean实现了ApplicationContextAware接口的话,Spring将调用Bean的setApplicationContext()方法,将bean所在应用上下文引用传入进来。
 
4.检查Bean是否实现BeanPostProcessor扩展接口:
1)第五步之前Spring就将调用他们的postProcessBeforeInitialization()方法。
2)第五步之后Spring就将调用他们的postProcessAfterInitialization()方法。
 
5.调用Bean的初始化方法或自定义初始化方法:检查Bean 是否实现InitializingBean初始化bean的接口,Spring将调用他们的afterPropertiesSet()方法。如果bean使用自定义初始化方法,该方法也会被调用 (init-method:指定初始化的方法)

 
 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐