Spring
文章平均质量分 68
姜皓
胸藏文墨怀若谷 腹有诗书气自华
展开
-
正确理解 Spring 家族的技术体系
正确理解 Spring 家族的技术体系1)Spring 家族技术生态全景图2)Spring Boot 与 Web 应用程序3)Spring Cloud 与微服务架构4)Spring 5 与响应式编程5)小结与预告Spring 框架自 2003 年由 Rod Johnson 设计并实现以来,经历了多个重大版本的发展和演进,已经形成了一个庞大的家族式技术生态圈。目前,Spring 已经是 Java EE 领域最流行的开发框架,在全球各大企业中都得到了广泛应用。本文梳理整个 Spring 家族中的技术体系,以及原创 2020-11-26 14:39:31 · 825 阅读 · 1 评论 -
Java 源码剖析(14)--SpringBoot 有哪些优点
SpringBoot的优点及与Spring 的区别1)Spring Boot 的优点1.1)更快速的构建能力1.2)起步依赖1.3)内嵌容器支持1.4)Actuator 监控2)知识扩展2.1)Spring Boot 启动源码分析2.2)Spring Boot 的启动流程3)小结1)Spring Boot 的优点作为 Java 开发人员对 Spring 框架都很熟悉,Spring 为 Java 程序提供了全面的基础架构支持,包含了很多非常实用的功能,如 Spring JDBC、Spring AOP、Sp原创 2020-07-20 20:26:28 · 498 阅读 · 0 评论 -
Java 源码剖析(12)--浅谈 Spring IoC 和 DI
浅谈 Spring IoC 和 DI1)Spring IoC2)DI3)知识扩展3.1)Spring IoC 的优点3.2)Spring IoC 注入方式汇总3.3)Spring AOP1)Spring IoCIoC(Inversion of Control,翻译为“控制反转”)不是一个具体的技术,而是一种设计思想。与传统控制流相比,IoC 会颠倒控制流,在传统的编程中需要开发者自行创建并销毁对象,而在 IoC 中会把这些操作交给框架来处理,这样开发者就不用关注具体的实现细节了,拿来直接用就可以了,这就原创 2020-07-11 17:39:35 · 189 阅读 · 0 评论 -
一文讲完Spring的各种注解
一文讲完Spring的各种注解Spring中的注解大概可以分为两大类:1.spring的bean容器相关的注解,或者说bean工厂相关的注解;2.springmvc相关的注解。spring的bean容器相关的注解,先后有:@Required, @Autowired, @PostConstruct, @PreDestory,还有Spring3.0开始支持的JSR-330标准javax...转载 2019-10-21 13:58:24 · 219 阅读 · 0 评论 -
1.14微服务--Eureka组件源码解析
Eureka组件源码解析一、Eureka 的基本概念1)Register一一 服务注册当Eureka Client 向Eureka Server 注册时, Eureka Client 提供自身的元数据,比如IP 地址、端口、运行状况指标的Url、主页地址等信息。2)Renew一一 服务续约Eureka Client 在默认的情况下会每隔30秒发送一次心跳来进行服务续约。通过服务...原创 2019-10-14 16:21:21 · 287 阅读 · 0 评论 -
1.13微服务--服务注册和发现组件--Eureka
Eureka“ Eureka ”来源于古希腊词汇,意为“发现了”。在软件领域, Eureka是一个开源的服务注册与发现的组件,和其他Netflix公司的服务组件(例如负载均衡、熔断器、网关等) 一起被Spring Cloud 社区整合为Spring Cloud Netflix 模块。本节将从以下4个方面来讲解服务注册与发现模块Eureka :1)Eureka 简介;2)编写一个Eurek...原创 2019-10-14 14:33:57 · 252 阅读 · 0 评论 -
1.5微服务--Dubbo简介
Dubbo简介一、Dubbo简介Dubbo 是阿里巴巴开源的一个分布式服务框架,致力于提供高性能和透明化的RPC 远程服务调用方案,以及SOA 服务冶理方案。Dubbo 包含如下核心内容:1、RPC 远程调用: 封装了长连接NIO 框架,如Netty 、Mina 等,采用的是多线程模式2、集群容错: 提供了基于接口方法的远程调用的功能, 并实现了负载均衡策略、失败容错等功能3、...原创 2019-08-07 23:27:28 · 378 阅读 · 0 评论 -
1.6微服务--Kubernetes简介
Kubernetes简介一、Kubernetes简介Kubernetes 是一个容器集群管理系统,为容器化的应用程序提供部署运行、维护、扩展、资源调度、服务发现等功能。Kubernetes 结合了社区的最佳创意和实践, 旨在帮助开发人员将容器打包、动态编排, 同时帮助各大公司向微服务方向进行技术演进。它具有以下特点:1)Planet Scale (大容量)使用Kubemetes...原创 2019-08-07 23:50:59 · 853 阅读 · 0 评论 -
1.8微服务--SpringBoot框架介绍
SpringBoot框架介绍一、SpringBoot简介Spring Boot 是由Pivotal 团队开发的Spring 框架,采用了生产就绪的观点,旨在简化配置,致力于快速开发;Spring Boot 框架提供了自动装配和起步依赖,使开发人员不需要配置各种xml 文件。通过这种方式,极大地提高了程序的开发速度,因此, Spring Boot 被认为是新一代的Web 开发框架;在过...原创 2019-08-17 20:59:47 · 445 阅读 · 0 评论 -
1.4微服务--SpringCloud介绍
SpringCloud介绍一、简介Spring Cloud 是基于Spring Boot 的。Spring Boot主要的特点就是简化了开发和部署的过程,简化了Spring 复杂的配置和依赖管理,通过起步依赖和内置Servlet 容器能够使开发者迅速搭起一个Web 工程;Spring Cloud 在开发部署上继承了Spring Boot 的一些优点,提高其在开发和部署上的效率;Spri...原创 2019-08-07 22:00:22 · 131 阅读 · 0 评论 -
1.1微服务--微服务基石SpringBoot
简述SpringBoot一、什么是SpringBoot为了摆脱繁杂的配置,让开发人员能够专心在代码开发上,SpringBoot在这样的背景下因运而生。它本身并不提供Spring框架的核心特征以及拓展功能,只是用于快速敏捷地开发新一代用于Spring框架的应用程序,简单说就是提升Spring开发效率的工具;它同时集成了大量的第三方库,可以实现零配置、打开即用等功能。总结:1、...原创 2019-07-21 22:08:23 · 183 阅读 · 0 评论 -
初识 Spring(25)---(SpringMVC实战--构建学生管理系统(15))
SpringMVC实战--构建学生管理系统(15)首页部分成绩录入页面(编辑/删除/批量录入功能)制作(源代码见仓库:https://gitee.com/jianghao233/course)新建 scoreInManager.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pag...原创 2018-08-21 21:07:05 · 401 阅读 · 0 评论 -
初识 Spring(24)---(SpringMVC实战--构建学生管理系统(14))
SpringMVC实战--构建学生管理系统(14)(源代码见仓库:https://gitee.com/jianghao233/course)利用 Ajax 技术 避免提交数据库中已存在数据(解决后台验证数据库数据与中文乱码问题)修改 TbCourseMapper.javapackage com.neuedu.mapper;import java.util.List;i...原创 2018-08-21 18:42:36 · 323 阅读 · 1 评论 -
初识 Spring(23)---(SpringMVC实战--构建学生管理系统(13))
SpringMVC实战--构建学生管理系统(13)首页部分学生管理页面(添加头像(图像)功能)制作 在上篇博客基础上继续开发(源代码见仓库:https://gitee.com/jianghao233/course)已经完成了保存图片到真实路径,并解决了图片重名问题,但核心问题:将图片保存到数据库中并显示在页面上任未实现修改代码: 修改 StudentController.ja...原创 2018-08-21 16:38:35 · 1015 阅读 · 0 评论 -
1.2微服务--微服务简介
微服务简介一、微服务的定义微服务:用来描述将软件应用程序设计为独立部署的服务的一种特殊方式,其系统是一个分布式系统,按业务领域划分为独立的服务单元,有自动化运维、 容错、快速演进的特点,它能够解决传统单体架构系统的痛点,同时也能满足越来越复杂的业务需求。单体架构存在的不足:1)业务越来越复杂,单体应用的代码量越来越大,代码的可读性、可维护性和可扩展性下降2)随着用户越来越多,...原创 2019-08-05 18:37:45 · 439 阅读 · 0 评论 -
2.1微服务--Eureka简介
Eureka简介一、Eureka简介Eureka来源于古希腊词汇,意为“发现了”。在软件领域, Eureka是Netflix 在线影片公司开源的一个服务注册与发现的组件,和其他Netflix公司的服务组件(例如负载均衡、熔断器、网关等)一起,被Spring Cloud 社区整合为Spring Cloud Netflix 模块。和Consul 、Zookeeper 类似, Eureka是...原创 2019-08-18 16:26:45 · 693 阅读 · 0 评论 -
1.3微服务--微服务应该具备的功能
微服务应该具备的功能一、重点总结“服务”是一个独立运行的单元组件,每个单元组件运行在独立的进程中,组件与组件之间通常使用HTTP 这种轻量级的通信机制进行通信,微服务具备特点:1、按照业务来划分服务,单个服务代码量小,业务单一,易于维护2、每个微服务都有自己独立的基础组件,例如数据库、缓存等,且运行在独立的进程中3、微服务之间的通信是通过HTTP 协议或者消息组件,且具有容错能力...原创 2019-08-06 23:58:47 · 2829 阅读 · 0 评论 -
1.7微服务--构建工具Maven的使用
构建工具Maven的使用一、Maven简介Apache Maven 是一款软件项目管理的开源工具,是基于工程对象模型( Pom)的概念而设计的Maven 可以管理项目构建的整个生命周期,包括清理( Clean )、编译( Compile )、打包( Package )、测试( Test ) 等环节;同时Maven 提供了非常丰富的插件,使得构建项目和管理项目变得简单构建一个项目所...原创 2019-08-14 00:34:36 · 382 阅读 · 0 评论 -
1.9微服务--运行状态监控Actuator
运行状态监控Actuator一、Actuator简介SpringBoot的Actuator提供了运行状态监控的功能, Actuator 的监控数据可以通过REST、远程shell和JMX方式获得。首先介绍通过REST方式查看Actuator的节点的方法,这种是最常见且简单的方法:在工程的POM文件中引入Actuator的起步依赖spring-boot-starter-actuator,代码...原创 2019-08-18 13:25:55 · 1832 阅读 · 1 评论 -
1.10微服务--SpringBoot整合JPA
SpringBoot 整合JPA一、JPA简介JPA 全称为JAVA Persistence API,它是一个数据持久化的类和方法的集合。JPA 的目标是制定一个由很多数据库供应商实现的API,开发人员可以通过编码实现该API;目前,在Java项目开发巾提到JPA一般是指用Hibernate的实现,因为在Java 的ORM 框架中,只有Hibernate实现得最好。1)新建一个Sp...原创 2019-08-18 14:18:47 · 308 阅读 · 0 评论 -
1.11微服务--SpringBoot整合Redis
1.11微服务--SpringBoot整合Redis一、Redis简介Redis 是一个开源的、先进的key-value 存储系统,可用于构建高性能的存储系统。Redis支持数据结构有字符串、哈希、列表、集合、排序集合、位图、超文本等。NoSQL (Not Only SQL ) 泛指非关系型的数据库。Redis 是一种NoSQL,Redis 具有很多的优点:例如读写非常快速,支持丰富的数...原创 2019-08-18 14:43:23 · 214 阅读 · 0 评论 -
1.12微服务--SpringBoot整合Swagger2
SpringBoot整合Swagger2一、Swagger2简介Swagger是一个功能强大的在线API文档的框架,其提供了在线文档的查阅和测试功能。目前它的版本为2.x,继而称为Swagger2.利用其很容易构建RESTful风格的API,在SpringBoot中集成Swagger2,有以下五个步骤:1、引入依赖--【springfox-swagger2和springfox-sw...原创 2019-08-18 15:15:00 · 232 阅读 · 0 评论 -
初识 Spring(12)---(SpringMVC实战--构建学生管理系统(02))
SpringMVC实战--构建学生管理系统(02)登陆页面制作(源代码见仓库:https://gitee.com/jianghao233/course) 文件目录:(jar 包与上篇博客相同) 代码:web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://w...原创 2018-08-10 20:51:34 · 580 阅读 · 0 评论 -
初识 Spring(22)---(SpringMVC实战--构建学生管理系统(12))
SpringMVC实战--构建学生管理系统(12)首页部分学生管理页面(添加头像(图像)功能)制作(源代码见仓库:https://gitee.com/jianghao233/course)修改代码:修改:StudentManager.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" ...原创 2018-08-21 11:59:26 · 441 阅读 · 0 评论 -
初识 Spring(21)---(SpringMVC实战--构建学生管理系统(11))
SpringMVC实战--构建学生管理系统(11)首页部分课程管理页面(分页功能)制作(在上篇博客基础上继续)(源代码见仓库:https://gitee.com/jianghao233/course)上篇博客中,初步完成分页功能,继续完善分页功能,由图可知,当前页为 1 (首页),< 还可以点 ;当前页为 2 (末页),> 还可以点不符合常理,修改代码修改 ...原创 2018-08-20 23:49:02 · 866 阅读 · 0 评论 -
初识 Spring(01)---(浅谈 Spring 框架)
浅谈 Spring 框架Spring框架是分模块存在,除了最核心的Spring Core Container(即Spring容器)是必要模块之外,其他模块都是可选,视需要而定。大约有20多个模块。Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。一般来说,Spring主要分为...原创 2018-08-07 16:35:41 · 383 阅读 · 0 评论 -
初识 Spring(03)---(XML注入方式 / 注入类型)
XML注入方式1.set 方式注入 2.构造方式注入 3.工厂方式注入set 方式注入1.ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");2.public class UserDaoImpl implements UserDao;3.private Us...原创 2018-08-07 16:35:03 · 239 阅读 · 0 评论 -
初识 Spring(16)---(SpringMVC实战--构建学生管理系统(06))
SpringMVC实战--构建学生管理系统(06)首页部分学生管理页面(查询/添加功能)制作(在上篇博客基础上继续)(源代码见仓库:https://gitee.com/jianghao233/course)新建 studentManger.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" ...原创 2018-08-14 23:22:39 · 397 阅读 · 1 评论 -
初识 Spring(13)---(SpringMVC实战--构建学生管理系统(03))
SpringMVC实战--构建学生管理系统(03)登陆页面验证及部分首页制作:(在上篇博客基础上继续)(源代码见仓库:https://gitee.com/jianghao233/course)文件目录: 新增代码:ClassController.javapackage com.neuedu.controller;import javax.servlet.ht...原创 2018-08-11 10:38:48 · 650 阅读 · 0 评论 -
初识 Spring(10)---(SpringMVC_requestMapping)
SpringMVC_requestMapping项目搭建见上篇《初识 Spring(09)---(搭建SpringMVC项目)》1.requestMapping既可以用在方法上,也可以用在类上文件目录:代码:新建SpringmvcTest.javapackage com.neuedu.springmvc.controller;import org.springfram...原创 2018-08-10 20:54:05 · 296 阅读 · 0 评论 -
初识 Spring(15)---(SpringMVC实战--构建学生管理系统(05))
SpringMVC实战--构建学生管理系统(05)首页部分添加班级编辑功能制作(在上篇博客基础上继续)(源代码见仓库:https://gitee.com/jianghao233/course)在上文中,每次都需要添加判断是否登录条件,本篇将新增拦截器功能(无需每次都添加判断,一次即可)与班级编辑功能新增 CheckInterceptor.java(拦截器)package co...原创 2018-08-14 09:14:41 · 283 阅读 · 0 评论 -
初识 Spring(11)---(SpringMVC实战--构建学生管理系统(01))
SpringMVC实战--构建学生管理系统搭建框架(源代码见仓库:https://gitee.com/jianghao233/course) 项目分析:搭建SSM框架步骤 1:创建一个动态web项目 2:将SSM的jar包和数据库驱动包,c3p0包导入 3:在web.xml中配置一个DispatcherServlet,指定springmvc配置文...原创 2018-08-10 14:49:19 · 764 阅读 · 2 评论 -
初识 Spring(09)---(搭建SpringMVC项目)
SpringMVC(创建项目)步骤:1.创建外部项目 2.导入所需的SpringMVC jar包 3.在 web.xml 中配置文件(servlet)文件目录: 配置文件:springmvc.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="htt...原创 2018-08-09 21:08:47 · 175 阅读 · 0 评论 -
SQL--(Spring 和 MyBatis 整合连接数据库 )
Spring 和 MyBatis 整合连接数据库 方法一:使用 mybatis 配置文件文件目录: 配置文件:beans.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="...原创 2018-08-09 16:22:31 · 1777 阅读 · 0 评论 -
初识 Spring(04)---(bean属性)
bean属性1. id、name都可以表示bean的名字 id:以前属性中不能有特殊字符,现在放特殊字符也没关系 name:属性可以有特殊字符文件目录:代码:配置文件:applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springfr...原创 2018-08-07 20:08:56 · 144 阅读 · 0 评论 -
初识 Spring(05)---(Annotation注解)
Annotation 注解注入注解:@Autowired 注入1.加在set方法上, 默认按类型by type,如果在 spring 容器中能够找到多个相同的类型,就从这多个类型找查找有没有一个key的值跟我们的 set 方法的参数名相同,如果有,就注入;没有的话,就无法判断要注入哪一个,导致报错如果想用byName,使用@Qulifie 需要写在参数上文件目录代码:配置文...原创 2018-08-07 21:55:21 · 151 阅读 · 0 评论 -
初识 Spring(06)---(MVC原理)
MVC原理MVC 原理图Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。 通常模型对象负责在数据库中存取数据。View(视图)是应用程序中处理数据显示的部分。 通常视图是依据模型数据创建的。Controller(控制器)是应用程序中处理用户交互的部分。 通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。spring MVC 原理...原创 2018-08-08 09:20:58 · 196 阅读 · 0 评论 -
初识 Spring(20)---(SpringMVC实战--构建学生管理系统(10))
SpringMVC实战--构建学生管理系统(10)首页部分课程管理页面(分页功能)制作(在上篇博客基础上继续)(源代码见仓库:https://gitee.com/jianghao233/course)思路:1.前台可以给后台传递的数据:1.当前页 2.每页显示多少条记录2.SQL分页语句:select * from tb_course LIMIT A,B (从A开始,显...原创 2018-08-20 22:44:52 · 289 阅读 · 0 评论 -
初识 Spring(19)---(SpringMVC实战--构建学生管理系统(09))
SpringMVC实战--构建学生管理系统(09)首页部分课程管理页面(编辑/删除功能)制作 (在上篇博客基础上继续)(源代码见仓库:https://gitee.com/jianghao233/course)编辑功能:修改代码:courseManger.jsp<%@ page language="java" contentType="text/html; charset...原创 2018-08-20 17:19:22 · 264 阅读 · 0 评论 -
初识 Spring(18)---(SpringMVC实战--构建学生管理系统(08))
SpringMVC实战--构建学生管理系统(08)首页部分成绩管理页面(查询/添加功能)制作(在上篇博客基础上继续)(源代码见仓库:https://gitee.com/jianghao233/course)新建 courseManger.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" ...原创 2018-08-20 16:07:49 · 222 阅读 · 0 评论