
Spring
文章平均质量分 79
BigBug_500
Talk is cheap.Show me the code.
EmailMeAt:snail.pu@foxmail.com
展开
-
Java 类的生命周期、ClassLoader的应用和演变(KeyWord:SpringBootClassLoader、委派模型)
类加载器:双亲委派模型下的类加载机制:JVM启动的时候,Java 开始使用如下三种类加载器:1. 根类加载器 Bootstrap负责装载最核心的Java类,比如Object、System、 String等,用 C++ 来实现的,不存在于 JVM 中。2. 扩展类加载器 Extension ClassLoader,JDK 9 及以后更换为Platform ClassLoader负责加载一些扩展的系统类,比如XML、加密、压缩相关的功能类等;3.系统类加载器 Application Clas原创 2021-03-15 23:25:46 · 1202 阅读 · 0 评论 -
多线程系列:二、线程池在 Spring 中的使用与关闭
在 上一篇 中,我们了解了进程、线程、Java 线程池的一些基础概率,然后抛出了线程池在 Spring 中的使用与关闭两个问题,本篇将通过案例对这两个问题进行探讨。ThreadPool 在 Spring 中的使用1. 使用 JUC 下面的 ThreadPoolExecutor Bean 默认为单例类型,所以只需要在 Spring IOC容器加载时,添加一个 Bean 即可 @Bean public ExecutorService IOThreadPool() { i原创 2020-11-22 23:12:35 · 2502 阅读 · 2 评论 -
SpringBean:创建、使用、生命周期、循环依赖问题
灵魂拷问环节Q1: Spring 中什么时候会出现循环依赖?不能完成 Bean 的实例化,导致无法放入缓存中,进而导致循环依赖中,无法获取到其他依赖对象的情况。如全构造器循环依赖(该场景无法解决,官方建议使用 setter 注入方式代替构造器注入)、获取不到实例后的构造器与 setter 的注入方式。部分类型 Bean 的循环注入,如全为 prototype 类型的循环、prototype 类型先去获取 singleton 的循环。循环依赖代码案例参考Q2: Spring 是如何解决 si原创 2020-10-24 18:21:12 · 3051 阅读 · 0 评论 -
Spring中的IOC和AOP、事务的应用
什么是Spring:Spring是一个开源的,轻量级的IOC和AOP容器框架,简化了开发流程,方便了对其他框架的整合控制反转(Inversion Of Controll):将相互依赖对象的创建和协调工作都交由IOC容器来完成,当某个对象需要其他协作对象时,由IOC通过依赖注入(DI, Dependency Injection)的方式提供协作对象,达到只需要关注业务本身逻辑的目的。面向切面编...原创 2019-11-29 15:54:59 · 934 阅读 · 0 评论 -
基于 Spring 构建应用的多环境感知方案
场景: 在一个实际的项目业务开发中,必定包含多个环境,如本地、开发、测试、预发布、正式、销售等等环境,不同的环境有需要连接不同的 DB 、请求不同的外部依赖等等。参考链接 ...原创 2020-09-29 16:50:57 · 781 阅读 · 0 评论 -
Spring 中 使用含文件标签的表单 和 按钮配合Ajax 上传文件的用例
在 Spring 中,文件上传的工具类是 MultipartFile ,本次的用例也采用该工具类。使用含文件标签的表单提交 这种方式比较简单,使用用户可见的提交按钮进行文件的上传前端页面 <form action="/up/u" enctype="multipart/form-data"method="post"> <input type="file" name="oneFile" value="上传文件"/> <input type=原创 2020-06-02 16:36:26 · 706 阅读 · 0 评论 -
Spring 常用注解记录
@SessionAttributes(value=…,type=…)eg:@SessionAttributes(value={"user"})@Controllerpublic class UserController { @RequestMapping("/testSessionAttributes") public String testSessionAttributes(Model model){ User user = new User("jack","12原创 2020-05-19 17:20:22 · 770 阅读 · 0 评论 -
责任链模式与其在Spring MVC中的应用
责任链模式的应用 现有一开发场景,要求设计一个集团采购物品,不同金额交由不同领导审批的流程 现有三级领导,金额在5000以下的,由部门领导审批;金额在10000以下的由院校级领导审批;金额在10000以上的,由校级领导审批。虽然使用 if-else 也能实现改功能,但是代码的可读性、可扩展性差,使用责任链设计模式,是面向对象的思维方式,符合“开闭原则”,具体实现的代码如下:责任链调用...原创 2020-02-21 23:40:51 · 1192 阅读 · 0 评论 -
工厂方法模式
工厂方法模式作用: 定义一个用于创建对象的接口,让子类决定将哪一个类实例化,把一个类的实例化延迟到了子类。优点: 满足开闭原则(对扩展开放,对修改关闭)。如下面的代码用例,当需要添加一个png的图片加类时,新增一个读取流程(实现 Reader 接口的类)、新增一个工厂实现类(实现 ReaderClassFactory 的类)。在整个过程中,不会对之前的类做任何修改操作,也就不会对已有的流程产生...原创 2020-01-05 16:47:48 · 728 阅读 · 0 评论 -
Servlet、DispatcherServlet
Apache Tomcat用Java编写,是一个Web服务器和Servlet服务器web服务器的作用:将主机上某个资源映射为一个URL供外界访问Servlet服务器:处理请求逻辑,本质上是一个包含5个抽象方法的接口在javax.servlet包下,几个相关类的继承关系 HttpServlet --> GenericServlet --> Servlet在springfra...原创 2019-11-02 10:46:03 · 810 阅读 · 0 评论 -
Spring MVC架构中的监听器,过滤器,拦截器
三者执行顺序如下:Listener(监听器):监听 web 服务器中某一个事件操作,并触发注册的回调函数。如application,session,request 对象的 创建/消亡 或者 增删改 属性时,自动触发对应的函数功能。在 Listener 中,可以通过 ServletContext 设置全局变量,并在后续的 HttpServletRequest 中获取对应的值。Filter(过滤器):过滤器是基于servlet容器实现的,先于拦截器执行,先于 SpringMVC.Dispa原创 2021-08-12 15:29:06 · 542 阅读 · 0 评论 -
Spring中Bean的五种作用域
singletonprototypesessionrequestglobal sessionhttps://blog.youkuaiyun.com/icarus_wang/article/details/51586776转载 2019-04-12 21:19:15 · 875 阅读 · 0 评论 -
关于Spring中 早期的自动装配 到 注解注入
1. 自动装配: 在xml中配置Bean的autowire属性autowire=“byName” / “byType” / “default”(需要在beans中配置default-autowire=“byName”)2. spring2.5开始全面支持注解容器中配置 <context:annotation-conf...原创 2019-04-14 15:13:05 · 653 阅读 · 0 评论 -
一次web请求:DNS->TCP连接->Nginx->SpringMVC->TCP断开
DNS域名解析简单的说就是把域名翻译成 IP 地址,但如果在浏览器直接输入IP,则跳过这个步骤。DNS寻找解析顺序:浏览器缓存解析操作系统缓存解析公共域名服务器解析(根域名服务器/Root Server,主域名服务器)TCP三次握手连接Client 端发送一个同步位SYN = 1,初始序号seq = x的报文段到Server端。TCP规定SYN报文段不能携带数据,但...原创 2019-04-27 18:24:37 · 1045 阅读 · 0 评论 -
Spring应用如何打包为可执行的jar
本文将介绍,如何将 Spring 应用如何打包为可执行的 jar ,以及在打包、执行 jar 中遇到的问题。场景: 现有一需求,需要把通过 Spring + MyBatis + Maven 构建的非 Web 应用,打包为一个 jar 包,提供给线上通过 java -jar … 执行。遇到的问题打包过程中的注意事项 正常方式搭建 Spring、MyBatis 等相关代码依赖。构建完成后,重点注意 pom.xml 文件中 build 标签。使用含 bug 的 maven-assembly-p原创 2020-06-17 13:54:48 · 1362 阅读 · 0 评论 -
Spring中的循环依赖出现示例
循环依赖的场景:service中的类A和类B,类A中需要DI类B,而类B中又需要DI类A。但环并不一定会出现,跟DI的方式有关。Spring中的循环依赖有:构造器循环依赖(会出现环的情况,项目无法启动) Filed属性注入依赖(类AB的Scope不同时,有不同的情况。)代码用例:构造器循环依赖:将陷入环,项目启动失败。@Servicepublic class Loop...原创 2019-06-24 11:48:20 · 1347 阅读 · 0 评论 -
SpringMVC获取前台参数的方式
1、直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交。若"Content-Type"="application/x-www-form-urlencoded",可用post提交 url形式:http://localhost:8080/SSMDemo/demo/addUser1?username=lixiaoxi&...原创 2018-12-09 09:33:21 · 2295 阅读 · 0 评论