Spring框架

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
简介: 框架

官网:http://spring.io

2.框架分类:

  1. Spring框架:整个框架负责宏观调控,负责整合其他的第三方框架。
  2. SpringMVC框架:主要负责实现前端和后端的交互。
  3. Mybatis框架和MybatisPlus框架:持久层框架,简化了JDBC操作数据库。
  4. SpringBoot框架/工具:SpringBoot采用了一种更加简化的封装方式去封装上面的框架, 简化用户的调用步骤,让程序变得更加简单。


3.普通的业务请求过程:

前端页面发起ajax请求(http://localhost:8080/factoryContrller/findAll),访问SpringMVC框架的Controller控制层进行解析请求,找到需要调用的Controller,找到对应的findAll方法,同时把请求提交的参数封装到java对象中,之后Controller层把请求传递给Spring框架的Service业务层,Service层在把请求传递给Mybatis框架的Mapper持久层,Mapper访问MySQL数据库进行数据库表的查询,查询结果返回给Mapper层,Mapper再返回给Service层,Service再返回给Controller层。Controller把java数据转换为json字符串,返回给ajax调用,ajax进行回调并把json字符串转换为js对象,再在页面中就可以通过js/vue解析js对象,最终把数据展现到html页面中。

1.Spring框架

Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。提供了功能强大的IOC、AOP及Web MVC等功能。

bean: 是spring容器管理的对象。

生命周期:创建对象/对象的初始化/执行业务逻辑/销毁对象

轻量级容器:spring在内存中申请了一块内存空间,用来存储其他对象。

Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。

控制反转(IOC)

6.1定义:loc:全称Inversion of Control,即“控制反转”,这是一种设计思想。

对象创建的权利由Spring框架完成,即由Spring容器管理对象的生命周期。

需要时注入(DI)即可

6.2目的:降低代码的耦合性。

6.3 spring容器

Spring容器的数据结构是Map集合. Map<key,value>

key=“user” 类名首字母小写

value=“通过反射机制实例化的对象”

反射机制在框架中,一般使用比较多,给定类型的路径就可以获取其中的对象,但是要求必须有无参构造. 否则程序运行必报异常.

创建spring容器,并且加载指定的配置文件将对象交给容器管理。用户无需关心对象是如何实例化. 容器负责对象的注入即可. 以后几乎不用修改任何代码. 降低了代码的耦合性

Spring对象生命周期管理

1.定义: 一个对象从创建到消亡,可以划分为四个阶段. 如果需要对程序进行干预.则可以通过周期方法进行干预. (回调函数/钩子函数/接口回调)

2.明生命周期函数的作用: 主要作用可以在各个时期对对象进行干预

Spring生命周期管理的四个过程

创建对象;

初始化对象(@PostConstrucct);

业务调用;

对象销毁(@PreDestroy)

通知

可以记录程序执行的各个过程,程序的运行状态,为日志提供记录

第一类(用于为日志提供记录,不可更改):  

1.前置通知:在目标方法执行之前回滚:@Before(“pointcut()”)  

2.后置通知:在目标方法执行完之后执行: @AfterReturning(“pointcut()”)  

3.报错通知:在目标方法执行完之后执行:@AfterThrowing(“pointcut()”)  

4.最终通知:目标方法之后都要执行的通知: @After(“pointcut()”)  

第二类(控制方法的执行):  

5.环绕通知:在目标方法执行前后都要执行,可以控制目标方法: @Around(“pointcut()”)  

IOC/DI注入

1.历史: 传统代码其中的属性对象一般都是通过new关键字手动创建,这样的代码耦合性高,不方便扩展

功能:  使得对象与对象之间的耦合性降低,进行解耦即实现松耦合

  1. IOC: 控制反转,将对象交给spring容器,由Spring容器管理对象的生命周期.
  2. DI是依赖注入. 只有被spring容器管理的对象的属性才可以被依赖注入. 默认的条件下采用类型注入.如果有特殊需求也可以采用名称注入@Qualifier(“cat”)
  3. Spring中 IOC和DI相互配合,可以极大程度上降低耦合性.可以整合其它的第三方框架。

jdk代理: 要求必须有/实现接口. 如果没有接口,则JDK代理不能正常执行.

cglib代理: 要求被代理者有无接口都可以. 代理对象是目标对象的子类 重写子类方法

AOP(面向切面编程)

  1. AOP介绍 在软件业,AOP为Aspect Oriented Programming的缩写,

意为:面向切面编程,通过预编译方式和 运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点, 也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。

利用AOP可以对业务逻辑的各个部分进行隔离, 从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

总结: Spring中的AOP 利用代理对象在不修改源代码的条件下,对方法进行扩展.

AOP的专业术语

1 连接点:用户可以被扩展的方法

2 切入点:用户实际扩展的方法

3 通知:扩展方法的具体实现

4 切面:将通知应用到切入点的过程

spring中的注解
@ComponentScan("com.jasg.demo")//扫描当前包和其子孙包,首先生效
@Configuration//当前的类标识为配置类,与.xml的效果一致
@Bean//相当于xml的反射机制,自己创建对象,将自己方法的返回值交给Spring容器管理
@Scope("singleton")//默认值 单例模式
@Scope("prototype")//多例模式
@Lazy//懒加载模式
@PostConstruct//创建对象之后立即调用
@PreDestroy//对象消亡时调用
@Component//将该类交给spring容器管理
@Autowired//将当前接口的实现类自动注入
@Qualifier("cat")//注解不能单独使用,必须配合Autowired使用,根据key进行注入
@Resource(name = "cat")//在功能上相当于: @Autowired+@Qualifier("cat")
@Repsitory//继承了@Component,标识持久层,将该类交给spring容器管理
@Service//也继承了@Component,标识业务层
@Controller//也继承了@Component,标识控制层,与页面进行交互
@value//为属性赋值
//加载单个配置文件,spring根据指定的路径加载properties配置文件,将数据添加到spring容器中
@PropertySource(value = "classpath:/addUser.properties",encoding = "UTF-8")
@PropertySources()//加载多个配置文件
@Aspect//标识该类是一个切面类,AOP类
@Pointcut//用于定义切入点表达式,有4种写法
@EnableAspectJAutoProxy//让spring中的AOP生效
@Before//AOP的前置通知
@AfterReTurning//AOP的后置通知
@AfterThrowing//AOP的异常通知
@After//AOP的最终通知
@Around//AOP的环绕通知
@Order(2)//环绕通知执行的顺序,第二个执行,数字越小执行顺序越靠前

2.SpringMVC

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts 2(一般老项目使用)等等。   SpringMVC框架主要功能: 实现前后端的交互。SpringMVC框架使用需要借助tomcat服务器. 默认端口号8080,可以随意修改。  

1.前端通过http请求可以携带参数访问后端服务器。请求  

2.后端服务器将结果通过响应返回给前端。响应  

请求类别 特点
GET 长度限制为1024,请求时的速度快,接口与参数暴露引起风险,但使用方便,K-V结构
DELETE 请求服务器删除指定的资源,不常用,因为研发不会允许向外直接暴露非业务性质的删除接口
PUT 上传某种特定资源时使用,不常用,除非研发需要,不然现在的上传spring等框架都有着成熟的上传手段
POST 可携带的数据长度由具体的Controller决定,但是它本身的长度理论上是不受限的,常用在异步请求中,数据比GET慢,但比GET安全
HEAD 请求的方式类似于GET,同属于HTTP1.0的请求方式,和GET的区别在于开发中使用较少,因为它不会返回任何的实体信息,它常用来测试接口等资源,不法分子暴力攻击一个地址时也会使用这个
TRACE 查看服务器收到的所有请求,用于测试或查看问题
OPTIONS 用来向服务器查询对于某些特殊资源的被允许的请求方式,也有人用来检查服务器性能
CONNECT 一般用不到,这个请求是HTTP1.0协议,不算1.0,以后被提出的一个预留给管理形式的代理服务器的
COPY 将指定的资源复制到Destination消息头指定的位置
MOVE 将指定的资源移动到某一位置
SEARCH 用来搜索某一资源
PROPFIND 获取资源信息

restFul风格说明

1.restFul的风格数据的位置一旦确定不能修改

2.参数与参数之间使用”/“的方式分割,

需要接收的参数使用{}包裹,可以使用@PathVariable注解获取

3.restFul的风格适用于get/post/put/delete请求类型

4.若{name}的属性和对象的属性名称一致或属性过多时可以使用对象接收调用

对象的set方法为属性赋值。

  1. JSON介绍
    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。
    它是基于 JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集。 JSON采用完全独立于程序语言的文本格式,但是也使用了类C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。
    根源: 网络传输协议http/https,本质传输的数据都是字符串/字节信息. 协议与系统无关. 所以采用JSON的方式将数据按照特定的顺序进行排列. JSON中的特殊的数据结构,可以很好的解析字符串.

1 同源策略

要素1: 浏览器的访问地址

要素2: Ajax的请求的网址

策略说明: 如果上述的要素同时满足

符合:*协议://域名:端口号**都相同的情况*,则称之为满足同源策略.可以进行正确的调用. 也称之为 “同域访问”.

@Controller  将该类首先交给SpringMVC管理之后将SpringMVC整体框架交给Spring管理.
@CrossOrigin 允许跨域访问
@ResponseBody  表示该方法的返回值都是JSON串结构,如果返回值为String类型,则不变,对象转换为json字符串
@RequestMapping("/hello") 实现浏览器的请求路径与方法的映射
@PathVariable  restFul结构,接收参数的注解.
@GetMapping("") 只能接收GET请求类型
@DeleteMapping("") 只能接收DELETE请求类型
@PostMapping("") 只能接收POST请求类型
@PutMapping("") 只能接收PUT请求类型
@RestController 表示Controller类,同时要求返回值为JSON=>@Controller+@ResponseBody
//3-->@ResponseBody  User转化为JSON串
@RequestBody   JSON串转化为User对象,json中的key与属性一致  

3.SpringBoot

1.定义

SpringBoot框架是框架的框架,简化常规框架的配置的方式,只需要很少的代码,即可以实现大量的功能. 体现了 “开箱即用” 思想。

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

4.Mybatis

1.定义

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。可以通过简单的 XML 或注解来配置和映射原始类型,接口和 Java POJO,为数据库中的记录MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。

2.Mybatis的特点

  1. 简单易学:文件本身就很小,没有任何第三方依赖,安装只要两个jar文件+配置几个sql映射文件,易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
  2. 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响,将sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
  3. 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
  4. 提供映射标签,支持对象与数据库的orm字段关系映射。
  5. 提供对象关系映射标签,支持对象关系组建维护。
  6. 提供xml标签,支持编写动态sql。

一级缓存:   Mybatis默认条件下只开启一级缓存, 一级缓存是sqlSession级别的, 在同一个sqlSession中查询数据可以共享数据.

二级缓存默认开启,二级缓存是SqlSessionFactory级别. 同一个工厂创建多个sqlSession共享数据.   Mybatis 也提供了第三方Cache接口,整合第三方缓存

如果采用springboot的方式进行测试时执行多次SQL时,一级缓存无效,   Springboot在整合mybatis之后,使用Mapper.find查询时,springboot会默认开启多个sqlSession。   可以添加事务注解的方式解决。   @Transactional //控制事务,添加事务注解之后会默认采用同一个SQLSession。

1.如果是单表操作,一般使用resultType      

2.如果进行关联操作,使用resultMap;      

3.如果是多表联查,结果集不允许出现重名字段,写出具体的字段

1.定义:当表中的字段与java当中的属性名称不一致时,需要使用resultMap的方式进行映射.

2.关于返回属性的说明

 resultType : 只能支持字段名称与属性的名称一致时才能自动映射.

 resultMap: 可以支持 任意类型的映射 万能的结构  

利用注解可以根据返回值类型,自动映射  

//规则1: 注解和映射文件 二选一  映射文件为主导.  

 //规则2: 注解写法一般适用于简单操作.关联查询不适用

5.MyBatis-Plus

MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改 变,为简化开发、提高效率而生。

2.特点

无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑

损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作

强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求

支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错

支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题

支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作

支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )

内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用

内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询

分页插件支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库

内置性能分析插件:可输出 SQL 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询

内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作

3.ORM思想

定义:对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。如今已有很多免费和付费的ORM产品,而有些程序员更倾向于创建自己的ORM工具。说明:ORM以面向对象的方式操作数据库。特点:对象与数据库中的表一一映射。对象中的属性与表中的字段一一对应。

以面向对象的方式操作数据库,由框架动态生成SQL语句,实现了跨数据库的操作。

步骤:  
 1.编辑pojo 添加注解 @tableName @tableId
 2.实现接口继承BaseMapper
 3.编辑YML文件配置信息 将mybatis改为mybatis-plus

6.代理机制

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了邮箱(IMAP/POP3/SMTP)的服务。

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

反向代理

若将网址的真实路径直接告知用户,会造成服务器不安全,所以需要采用

代理技术来规避问题。

反向代理特点:

反向代理服务器介于用户和目标服务器之间。

用户从反向代理服务器获取资源,用户到达不了真实的服务器地址,降低真实服务器的负载。

正向代理:

目的:网络访问通信使用,网络出口

正向代理服务器(vpn )

用户访问~~vpn ~~间接访问服务器

正向代理的使用伴随着路由

2.特点

nginx是一个开源免费的 轻量级的反向代理服务器、web服务器。

nginx并发能力强 并发理论值:5万次/秒 实际值3万次/秒 tomcat:150-220–处理之后1000个/秒

nginx占用内存少,不超过2M, tomcat理论值2G,内存占用200M

7.linux

Linux全部都是基于文件的,并且Linux中的目录都是树形结构。

绝对路径:即含有–> /

相对目录:当前的文件目录

ifconfig/ip addr 检查IP地址
pwd 检查当前的位置
tab键 自动补齐(注意唯一性)
clear 清空当前屏幕
cd / 返回根目录
cd ~ 用户主目录
cd . 当前目录
cd .. 返回到上一级目录
cd /usr/ 进入到usr目录
cd – 返回上一个目录
cd 直接回家
ls 查看当前目录的内容
ls –l 详细格式,文件权限,时间
ll 和ls –l作用相同
ls *.txt 查看所有的txt类型文档
mkdir 创建目录
mkdir a 创建 a目录
mkdir a b c 创建 a,b,c目录
mkdir -p a/b 创建 a目录,并在a目录里创建b目录
mkdir -m 777 c 创建一个权限为777的C目录
rmdir 删除目录(如果目录里有文件,则不能用此命令)
Esc 切换到命令行模式。
按i 在光标前开始编辑
按a 在光标后开始编辑
按o 在当前行的下一行开始编辑
按u 撤销之前的操作
按 shift+:冒号 底行模式
:q! 不保存退出
:wq 保存退出
:/world 从当前光标处,向上查找world关键字
:?world 从当前光标处,向后查找world关键字

touch

1.1 创建一个文件  touch yyTest.ini

1.2 同时创建两个文件  touch test1.txt test2.txt

1.3 批量创建文件(如创建2000个文件) touch test{0001..2000}.txt

编辑文件脚本:vim 文件名.sh   vim start1.sh

vi test.txt

vim touch.txt

使用>、>>

3.1 >

直接覆盖原文件,不会有任何提示

3.2 >>

追加在原文件末尾,不会覆盖原文件的内容

rm 删除文件
rm n.txt 提示y删除n放弃
rm –f n.txt 不提示
rm –rf dirname 不提示递归删除目录下所以内容
rm –rf * 删除所有文件
rm –rf /* 删除所有子目录所有和文件
cp 复制文件
cp nginx.conf n.txt
cp –R tomcat1 tomcat2 复制整个目录
mv 修改文件名,移动文件
mv n.txt m.txt 修改文件名称
cat 输出文件所有的内容
more 输出文档所有的内容,分页输出,空格浏览下一屏,q退出
less 用法和more相同,只是通过PgUp、PgOn键来控制
tail 用于显示文件后几号,使用频繁
tail -10 nginx.conf 查看nginx.conf的最后10行
tail –f nginx.conf 动态查看日志,方便查看日志新增的信息
ctrl+c 结束查看
tar命令 位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成name.tar.gz的文件。
-c 创建一个新的tar文件
-v 显示运行过程的信息
-f 指定文件名
-z 调用gzip压缩命令进行压缩
-t 查看压缩文件的内容
-x 解开tar文件
tar –cvf n.tar ./* 压缩当前目录下的所有文件和目录,文件名为n.tar
tar –xvf n.tar 解压压缩包中的文件到当前目录(如果长时间未解压成功 Ctrl+C推出)
tar –cvzf m.tar.gz ./* 压缩文件
tar -zxvf m.tar.gz 解压m.tar文件到当前目录
grep root /etc/passwd 在文件中查找关键字root
grep root /etc/passwd –-color 高亮显示
grep root /etc/passwd –A5 –B5 高亮显示,A后5行,B前5行
grep -n root /etc/passwd 查找并显示行数
grep -v root /etc/passwd 取反,查出不含root的数据


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
4天前
|
XML Java 测试技术
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
这篇文章介绍了Spring5框架的三个新特性:支持@Nullable注解以明确方法返回、参数和属性值可以为空;引入函数式风格的GenericApplicationContext进行对象注册和管理;以及如何整合JUnit5进行单元测试,同时讨论了JUnit4与JUnit5的整合方法,并提出了关于配置文件加载的疑问。
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
|
13天前
|
缓存 NoSQL Java
SpringBoot的三种缓存技术(Spring Cache、Layering Cache 框架、Alibaba JetCache 框架)
Spring Cache 是 Spring 提供的简易缓存方案,支持本地与 Redis 缓存。通过添加 `spring-boot-starter-data-redis` 和 `spring-boot-starter-cache` 依赖,并使用 `@EnableCaching` 开启缓存功能。JetCache 由阿里开源,功能更丰富,支持多级缓存和异步 API,通过引入 `jetcache-starter-redis` 依赖并配置 YAML 文件启用。Layering Cache 则提供分层缓存机制,需引入 `layering-cache-starter` 依赖并使用特定注解实现缓存逻辑。
SpringBoot的三种缓存技术(Spring Cache、Layering Cache 框架、Alibaba JetCache 框架)
|
1天前
|
安全 前端开发 Java
随着企业应用复杂度提升,Java Spring框架以其强大与灵活特性简化开发流程,成为构建高效、可维护应用的理想选择
随着企业应用复杂度提升,Java Spring框架以其强大与灵活特性简化开发流程,成为构建高效、可维护应用的理想选择。依赖注入使对象管理交由Spring容器处理,实现低耦合高内聚;AOP则分离横切关注点如事务管理,增强代码模块化。Spring还提供MVC、Data、Security等模块满足多样需求,并通过Spring Boot简化配置与部署,加速微服务架构构建。掌握这些核心概念与工具,开发者能更从容应对挑战,打造卓越应用。
8 1
|
10天前
|
XML Java 应用服务中间件
深入探索Spring Boot框架的核心特性
Spring Boot 是一款基于Spring框架的开源框架,旨在简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式(默认配置)来简化整个构建过程。
29 11
|
4天前
|
运维 Java Nacos
Spring Cloud应用框架:Nacos作为服务注册中心和配置中心
Spring Cloud应用框架:Nacos作为服务注册中心和配置中心
|
4天前
|
XML Java Maven
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
这篇文章是Spring5框架的入门到实战教程,介绍了Spring5的新功能——整合日志框架Log4j2,包括Spring5对日志框架的通用封装、如何在项目中引入Log4j2、编写Log4j2的XML配置文件,并通过测试类展示了如何使用Log4j2进行日志记录。
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
|
4天前
|
Java API Spring
Spring5入门到实战------1、Spring5框架概述、入门案例
这篇文章是Spring5框架的入门教程,概述了Spring框架的核心概念和特点,并通过一个创建普通Java类的案例,详细演示了从下载Spring核心Jar包、创建配置文件、编写测试代码到运行测试结果的完整流程,涵盖了Spring IOC容器的使用和依赖注入的基本用法。
Spring5入门到实战------1、Spring5框架概述、入门案例
|
7天前
|
前端开发 Java Spring
springboot 整合 netty框架, 实现 心跳检测,自动重连
springboot 整合 netty框架, 实现 心跳检测,自动重连
|
7天前
|
安全 前端开发 Java
Web端系统开发解决跨域问题——以Java SpringBoot框架配置Cors为例
在Web安全上下文中,源(Origin)是指一个URL的协议、域名和端口号的组合。这三个部分共同定义了资源的来源,浏览器会根据这些信息来判断两个资源是否属于同一源。例如,https://www.example.com:443和http://www.example.com虽然域名相同,但由于协议和端口号不同,它们被视为不同的源。同源(Same-Origin)是指两个URL的协议、域名和端口号完全相同。只有当这些条件都满足时,浏览器才认为这两个资源来自同一源,从而允许它们之间的交互操作。
10 0
Web端系统开发解决跨域问题——以Java SpringBoot框架配置Cors为例
|
27天前
|
缓存 Java Spring
Spring框架
【7月更文挑战第24天】
35 16