
Spring
文章平均质量分 92
spring相关
hancoder
谢谢支持
展开
-
【SpringMVC】SPI、父子容器、xml与注解式配置解读
一、回顾Servlet@WebServlet("/hello")public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //super.doGet(req, resp); System.out.println(T原创 2021-09-19 13:25:58 · 620 阅读 · 0 评论 -
【aop】10分钟利用aop写注解权限认证
前言之前学过很多遍AOP切面,但印象中自己只会在切点前后打印写日志,没有实战能力,为此,本篇笔记就点除了“打印日志”之外的AOP常用功能AOP基础这这篇笔记的同学应该大都了解过AOP,这里不详述了,只带着大家回忆一下核心知识点。AOP用途用途:如前面所言,你可以简单理解为你想在spring容器中某一个方法每次调用前后打印一些日志。(设为计算器的方法cal.add(a,b))静态代理与动态代理:静态代理:你自己在那个方法体力自己写日志打印逻辑,add(a,b){打印日志;正常业务;打印日志}原创 2021-06-20 23:47:52 · 808 阅读 · 1 评论 -
【springboot】5、自动配置
servlet容器要遵循servlet规范。如tomcat、nettyjdbc的接口Driver,在用MySQL的时候,要有Driver的实现类。初始化驱动的时候,class.forName()会加载驱动,mysql的话实现类是com.mysql.Driver。他在工厂中 把接口作为文件名,里面写上实现类,tomcat就会读这个文件,这个是servlet规范java的文件路径是META-INF/servicestomcat 的文件路径是META-INF/services/javax.servlet.原创 2021-02-22 17:44:16 · 1318 阅读 · 0 评论 -
【springboot】4、整合其他框架
五、Dockerdocker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);docker客户端(Client):连接docker主机进行操作;docker仓库(Registry):用来保存各种打包好的软件镜像;docker镜像(Images):软件打包好的镜像;放在docker仓库中;docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用3、安装Docker# 在linux虚拟机上安装docker1、检查内核原创 2021-02-22 17:43:42 · 278 阅读 · 0 评论 -
【springboot】3、实战
6、RestfulCRUD1)、默认访问首页//使用WebMvcConfigurerAdapter可以来扩展SpringMVC的功能//@EnableWebMvc 不要接管SpringMVC@Configurationpublic class MyMvcConfig extends WebMvcConfigurerAdapter { @Override public void addViewControllers(ViewControllerRegistry registry原创 2021-02-22 17:43:02 · 287 阅读 · 0 评论 -
【springboot】2、thymeleaf
四、thymeleaf1、简介使用SpringBoot;1)、创建SpringBoot应用,选中我们需要的模块;2)、SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来3)、自己编写业务代码;2、SpringBoot对静态资源的映射规则;@ConfigurationProperties(prefix = "spring.resources", ignoreUnknownFields = false)public class ResourcePrope原创 2021-02-22 17:42:07 · 1363 阅读 · 0 评论 -
【springboot】1、基础
**一、**Spring Boot 入门1.1、Spring Boot 简介简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案;1.2、微服务2014,martin fowler微服务:架构风格(服务微化)一个应用应该是一组小型服务的组合;可以通过HTTP的方式进行互通;单体应用:ALL IN ONE微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;详细参照微服务文档1.3、MAVEN准备http://www原创 2021-02-22 17:41:27 · 640 阅读 · 0 评论 -
【spring源码】十二、监听器
spring监听器一、ApplicationListener接口作用:监听容器中发布的事件,完成事件驱动开发实现ApplicationListener接口//如果要写实现类就得实现这个接口public interface ApplicationListener<E extends ApplicationEvent> //泛型是要监听的事件,监听ApplicationEvent及其下面的子事件。即我们要发布事件,这个事件应该是ApplicationEvent的子类 extends原创 2020-12-20 02:25:25 · 941 阅读 · 3 评论 -
【spring源码】十一、事务
3.声明式事务都是针对于 ServiceImpl 类下方法的.4.事务管理器基于通知(advice)的.5.在 spring 配置文件中配置声明式事务<context:property-placeholder location="classpath:db.properties,classpath:second.properties"/><!-- 定义数据源bean,使用C3P0数据源实现 --><bean id="dataSource"class="org.sprin原创 2020-12-20 02:24:50 · 503 阅读 · 1 评论 -
【spring源码】十、spring如何整合其他框架
在前面,待整理原创 2020-12-20 02:24:01 · 833 阅读 · 2 评论 -
【spring源码】九、spring动态代理的创建
文章目录⑪==finishBeanFactoryIntialization==preInstantiateSingletons重温createBeanresolveBeforeInstantiationapplyBeanPostProcessorsBeforeInstantiationibp.postProcessBeforeInstantiationdoCreateBean==postProcessAfterInitialization====wrapIfNecessary==InstantiationM原创 2020-12-20 02:23:09 · 709 阅读 · 2 评论 -
【spring源码】八、循环依赖(重要)
getBean流程:doGetBeangetSingleton1singletionObject.get(beanName);有则直接返回earlySingletonObjects.get(beanName);有则直接返回singletonFactories.get(beanName);没有就直接返回singletonFactories.get(beanName);获取到了工厂singletonObject=singletonFactory.getObject();earlySing原创 2020-12-20 02:21:14 · 770 阅读 · 1 评论 -
【spring源码】七、后置处理器BeanPostProcessor
⑥registerBeanPostProcessors()注册(实例化)后置处理器我们想要了解spring在什么时候注册自动代理,即@EnableAspectJAutoProxy等一系列执行的时机。这里值得注意的是,@EnableAspectJAutoProxy的操作是在refresh()方法的invoke()阶段完成了bean定义信息的注入,而还没完成实例化。实例化是在registerBeanPostProcessor注册后置处理器阶段完成的。public abstract class Abstra原创 2020-12-20 02:20:41 · 334 阅读 · 1 评论 -
【spring源码】六、@EnableAspectJAutoProxy
⑤invokeBeanFactoryPostProcessors()先说明:invokeBeanFactoryPostProcessors()是在refresh()方法中的第⑤步,他的作用是注册bean的定义信息,但还没进行创建实例。我们下面介绍了注解@EnableAspectJAutoProxy就是在这个阶段注册一个bean定义,但实例化要推迟到第⑥步registerBeanPostProcessor()完成@EnableAspectJAutoProxy@EnableAspectJAutoProx原创 2020-12-20 02:19:46 · 1152 阅读 · 1 评论 -
【spring源码】五、工厂后置处理器BeanFactoryPostProcessor【重要】
文章目录一、工厂后置处理器bean定义时候什么被装入源码-工厂后置处理器工厂后置处理器与`ConfigurationClassPostProcessor`spring的工厂后置处理器和自定义工厂后置处理器工厂后置处理器的执行时机二、自定义工厂后置处理器(1)BeanFactoryPostProcessor(2)BeanDefinitionRegistryPostProcessor(3)总结三、问题一:AnnotatedBeanDefinitionReader容器构造函数的两种写法四、工厂后置处理器实例化一原创 2020-12-20 02:19:10 · 1514 阅读 · 2 评论 -
【spring源码】四、refresh流程预览
文章目录AOPAOP使用步骤==AOP源码流程==测试用例spring生成的代理类AOPAOP使用步骤导包spring-aspects在配置类上@EnableAspectJAutoProxy 通知方法: 前置通知(@Before):logStart:在目标方法(div)运行之前运行 后置通知(@After):logEnd:在目标方法(div)运行结束之后运行(无论方法正常结束还是异常结束) 返回通知(@AfterReturning):logReturn:在目标方法(原创 2020-12-20 02:12:25 · 498 阅读 · 1 评论 -
【spring源码】三、helloworld准备
文章目录一、工厂后置处理器bean定义时候什么被装入源码-工厂后置处理器工厂后置处理器与`ConfigurationClassPostProcessor`spring的工厂后置处理器和自定义工厂后置处理器工厂后置处理器的执行时机二、自定义工厂后置处理器(1)BeanFactoryPostProcessor(2)BeanDefinitionRegistryPostProcessor(3)总结三、问题一:AnnotatedBeanDefinitionReader容器构造函数的两种写法一、工厂后置处理器按理说原创 2020-12-19 22:21:36 · 336 阅读 · 1 评论 -
【spring源码】二、bean定义、工厂
基础概念1、IoC 和 DIIoC (Inversion of Control),即控制反转。这不是一种新的技术,而是 Spring 的一种设计思想。在传统的程序设计,我们直接在对象内部通过 new 来创建对象,是程序主动去创建依赖对象;而在 Spring 中有专门的一个容器来创建和管理这些对象,并将对象依赖的其他对象注入到该对象中,这个容器我们一般称为 IoC 容器。所有的类的创建、销毁都由 Spring 来控制,也就是说控制对象生存周期的不再是引用它的对象,而是 Spring。对于某个具体的对象原创 2020-12-19 21:24:59 · 1138 阅读 · 1 评论 -
【spring源码】一、注解驱动开发
文章目录原来xml方式注解驱动配置类@Configuration@ComponentScan【bean注册方法1】@Bean【bean注册方法2】@Conditional@Import【bean注册方法3】@FactoryBean【bean注册方法4】组件注册生命周期后置处理器属性赋值@Value自动装配@Autowired+@Qualifier+@PrimaryAware@Profile:AOP声明式事务原来xml方式https://www.jianshu.com/p/2692bf784976Be原创 2020-12-19 19:45:30 · 733 阅读 · 1 评论 -
【SpringCloud】微服务笔记
集中什么是微服务架构:1597213385700SpringCloud 是微服务一站式服务解决方案,微服务全家桶。它是微服务开发的主流技术栈。它采用了名称,而非数字版本号。s方法gCloud 和 springCloud Alibaba 目前是最主流的微服务框架组合。版本选择:选用 springboot 和 springCloud 版本有约束,不按照它的约束会有冲突。版本问题本次学习的各种软件的版本:boot使用的是数字作为版本。官网强烈建议升级到2.0以上cloud使用的是字母作为版本,伦原创 2020-10-13 23:59:57 · 38130 阅读 · 22 评论 -
SpringMVC笔记--11 拦截器HandlerInterceptor
第10章 拦截器10.1 自定义拦截器概述1) Spring MVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器可以实现HandlerInterceptor接口(常用),或者可以继承HandlerInterceptorAdapter适配器类① preHandle():这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求 request 进行...原创 2019-12-09 02:33:28 · 223 阅读 · 0 评论 -
SpringMVC笔记--10文件上传下载MultipartResolver、ResponseEntity
Spring文件上传下载文件上传主要依赖的是MultipartResolver;文件下载主要依赖的是ResponseEntity1 文件上传1.1 文件上传的配置要求form表单form表单的enctype属性为multiple/form-data时,浏览器就会采用二进制流来处理表单数据,服务器就会对文件上传的请求进行解析处理。Spring MVC文件上传实现类Spring...原创 2019-12-09 02:32:51 · 612 阅读 · 0 评论 -
SpringMVC笔记--9JSON和ResponseBody
本文涉及少许的HttpMessageConverter知识,可以看之前的Spring类型转换。本文的内容及JSON的内容。1 @ResponseBody注解解释@Responsebody 注解在控制器中的映射方法上,如@RequestMapping(value = "user/login")@ResponseBody //不加这个注解会使用视图解析器,所以必须加// 将ajax(dat...原创 2019-12-09 02:31:49 · 264 阅读 · 0 评论 -
SpringMVC笔记--8类型转换HttpMessageConverter
在SpringMVC框架中,需要收集用户请求参数,并将请求参数传递给应用的控制器组件。此时存在一个问题,所有的请求参数类型只能是字符串数据类型,但java是强类型语言,所以SpringMVC必须将这些字符串请求参数转换成响应的数据类型。如一个jsp表单中有商品名称string,商品价格double,商品数量int。如果自己写HttpServlet的话,需要把请求参数中的参数用Double.pa...原创 2019-12-09 02:30:45 · 1194 阅读 · 0 评论 -
SpringMVC笔记--7综合案例RESTRUL_CRUD
第7章 综合案例RESTRUL_CRUD7.1 RESTRUL_CRUD_需求7.1.1 显示所有员工信息1) URI:emps2) 请求方式:GET3) 显示效果idLastNameEmailGenderDepartmentEditDelete1001AAaa@163.comMaleAAEdieDelete...原创 2019-12-09 02:30:06 · 324 阅读 · 0 评论 -
SpringMVC笔记--6视图解析InternalResourceViewResolver
第6章 视图解析6.1 SpringMVC如何解析视图概述1) 不论控制器返回一个String、ModelMap还是View,都会转换为【ModelAndView】对象,由视图解析器解析视图(ModelAndView中的数据,最终得到视图对象,然后视图对象再负责转发或重定向),然后,进行页面的跳转。2) 视图解析源码分析:重要的两个接口3) 断点调试源码4) 流程图6...原创 2019-12-09 02:29:22 · 832 阅读 · 0 评论 -
SpringMVC笔记--5处理响应数据ModelAndView
第5章 处理响应数据5.1 SpringMVC 输出模型数据概述对于MVC框架来说模式数据是最重要的,因为控制C是为了产生模型数据M,而视图V则是为了渲染模型数据。如何将模型数据暴露给视图是Spring MVC框架的一项重要工作,Spring MVC提供了多种途径输出模型数据ModelAndView: 处理方法返回值类型为 ModelAndView 时, 方法体即可通过该对象添加模型数据...原创 2019-12-09 02:27:52 · 1790 阅读 · 0 评论 -
SpringMVC笔记--4处理请求数据
第4章 处理请求数据下面是可以在请求处理方法中出现的参数类型:javax.servlet.ServletRequest或javax.servlet.http.HttpServletRequest;javax.servlet.ServletResponse或javax.servlet.http.HttpServletResponse;javax.servlet.http.HttpSessi...原创 2019-12-09 02:27:00 · 456 阅读 · 0 评论 -
SpringMVC笔记--3 REST
第3章 REST3.1参考资料:1)理解本真的REST架构风格: http://kb.cnblogs.com/page/186516/2)REST: http://www.infoq.com/cn/articles/rest-introduction3.2 REST是什么?1) REST:即 Representational State Transfer。(资源)表现层状态转化。是...原创 2019-12-09 02:25:56 · 202 阅读 · 0 评论 -
SpringMVC笔记--2 @RequestMapping注解
第2 章 @RequestMapping注解2.1 @RequestMapping 映射请求注解2.1.1 @RequestMapping 概念1) SpringMVC使用@RequestMapping注解为控制器指定可以处理哪些 URL 请求2) 在控制器的类定义及方法定义处都可标注 @RequestMapping① 标记在类上:提供初步的请求映射信息。相对于 WEB ...原创 2019-12-09 02:25:08 · 476 阅读 · 1 评论 -
SpringMVC笔记--1 SpringMVC简介
第0章 SpringMVC框架的核心内容1.SpringMVC 概述2.SpringMVC 的 HelloWorld3.使用 @RequestMapping 映射请求4.映射请求参数 & 请求头5.处理模型数据6.视图和视图解析器7.RESTful CRUD8.SpringMVC 表单标签 & 处理静态资源9.处理 JSON:使用 HttpMessageConve...原创 2019-12-09 02:21:04 · 647 阅读 · 1 评论