2021
01-14
01-14
详解Spring 中 Bean 的生命周期
前言 这其实是一道面试题,是我在面试百度的时候被问到的,当时没有答出来(因为自己真的很菜),后来在网上寻找答案,看到也是一头雾水,直到看到了《Springinaction》这本书,书上有对Bean声明周期的大致解释,但是没有代码分析,所以就自己上网寻找资料,一定要把这个Bean生命周期弄明白!网上大部分都是验证的Bean在面试问的生命周期,其实查阅JDK还有一个完整的Bean生命周期,这同时也验证了书是具有片面性的,...
继续阅读 >
以Javaweb的方式显示图片到浏览器以Javaweb的方式下载服务器文件到浏览器以SpringBoot的方式显示图片或下载文件到浏览器请求例子:http://localhost:8080/image/1564550185144.jpeg示例代码:importorg.springframework.context.annotation.Configuration;importorg.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;importorg.springframework.web.servlet.config.annotation.WebMvcConfigurer;impo...
我们知道,Spring可以通过包扫描将使用@Component注解定义的Bean定义到容器中。今天就来探究下他实现的原理。首先,找到@Component注解的处理类注解的定义,一般都需要配套的对注解的处理才能完成注解所代表的功能。所以我们通过@Component注解的用到的地方,来查找可能的处理逻辑;我们先进入Spring的项目,在IDEA里面用Ctrl和鼠标左键点击Component注解的名称,IDEA会显示出使用到这个类的位置,我们从弹出的列表中找到一个名称像...
环境配置1>先创建maven的quickstart项目;并且创建dao层,service层,controller层,po层,mapper,resources以及下面的配置文件(db.properties,log4j.properties,mybatis.xml,spring.xml).2>配置pom.xml修改jdk版本;添加依赖:junit版本改为4.12;spring-context;spring-test;spring-jdbc;spring-tx(事务);aspectjweaver(切面编程);c3p0(连接池);mybatis;mybatis-spring;mysql-connector-java(mysql驱动包)...
文件上传的功能实现是我们做Web应用时候最为常见的应用场景,比如:实现头像的上传,Excel文件数据的导入等功能,都需要我们先实现文件的上传,然后再做图片的裁剪,excel数据的解析入库等后续操作。今天通过这篇文章,我们就来一起学习一下如何在SpringBoot中实现文件的上传。动手试试第一步:创建一个基础的SpringBoot项目,如果还不会的话就先看看这篇《快速入门》。第二步:在pom.xml中引入模版引擎依赖:<dependency><grou...
要让项目实现ssl免密登录,首先需要开启https。所以先从SpringBoot如何开启https说起。创建服务端证书为了开启https,我们需要一份证书。实际开发中,会在网上申请一个机构颁发的证书。这里为了方便,我会使用openssl命令自己生成一个证书来使用。opensslreq-x509-sha256-days3650-newkeyrsa:4096-keyoutrootCA.key-outrootCA.crt所有的密码都是123456,然后根据提示输入相关信息就好,如果嫌麻烦也可以...
在gateway中配置uri配置有三种方式,包括第一种:ws(websocket)方式:uri:ws://localhost:9000第二种:http方式:uri:http://localhost:8130/第三种:lb(注册中心中服务名字)方式:uri:lb://brilliance-consumer其中ws和http方式不容易出错,因为http格式比较固定,但是lb方式比较灵活自由。不考虑网关,只考虑服务时,服务名命名时比较自由,都能启动被访问,被注册到注册中心,但是如果提供给gateway使用时,就会对服务命名方...