- 博客(130)
- 资源 (9)
- 问答 (2)
- 收藏
- 关注
原创 Spring Cloud(Ribbon、Feign) Alibaba——Nacos
微服务环境搭建电商系统:搭建用户微服务,商品微服务,订单微服务技术选型maven:3.5+数据库:mysql 5.7持久层:MybatisPlus其他:springboot→springcloud Alibaba
2021-12-18 10:29:26
456
原创 IDEA - maven父工程pom.xml全解析
Maven POM ( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元。父工程的pom文件<packaging>pom</packaging>以下配置<packaging>pom</packaging>的意思是使用maven分模块管理,都会有一个父级项目,pom文件一个重要的属性就是packaging(打包类型),一般来说所有的父级项目的packaging都为pom,packaging默认类型jar类型,
2021-12-17 18:51:13
3544
原创 多个微服务配置和使用Swagger进行单元测试
@ComponentScan注解Spring中@ComponentScan注解的作用就是根据定义的扫描路径,把符合扫描规则的类装配到spring的bean容器中。源码basePackages与value:? 用于指定包的路径,进行扫描basePackageClasses: 用于指定某个类的包的路径进行扫描nameGenerator: bean的名称的生成器useDefaultFilters: 是否开启对@Component,@Repository,@Service,@Controller的..
2021-12-17 10:20:53
1396
原创 mybatis-plus集成报错Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required等问题
报错:Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Bean instantiation via fac
2021-12-16 08:53:35
1756
原创 前端开发②(vue 和 Axios)
Vue.js的基本认识Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式(核心 + 扩展)框架。Vue 只关注视图层, 采用自底向上增量开发的设计。Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。Vue.js 就是一个 MVVM 的实现者,他的核心就是实现了 DOM 监听 与 数据绑定。MVVMMVVM(Model-View-ViewModel)是一种软件架构设计模式。把Model和View关联起来的就是ViewModel。Vie
2021-12-02 03:49:04
1341
原创 软件开发流程之前后端分离架构演进
软件开发流程前后端未分离时代(各种耦合)前后端未分离时代,页面逻辑处理以及页面渲染全部由后端完成。如最具代表性的 MVC 三层框架。用户发起请求至服务端控制层(Controller),控制层通过调用模型处理器(Model)以及渲染视图(View)并最终将页面返回给客户端。大致就是所有的请求都被发送给作为控制器的Servlet,它接受请求,并根据请求信息将它们分发给适当的JSP来响应。同时,Servlet还根据JSP的需求生成JavaBeans的实例并输出给JSP环境。JSP可以通过直接调用方法或
2021-11-28 10:11:49
2379
原创 前端体系大局观(Java开发了解专用)
前端三要素 HTML(结构):超文本标记语言(Hyper Text Markup Language),决定的结构和内容 CSS(表现):层叠样式表(Cascading Style Sheets),设定网页的表现样式 JavaScript(行为):是一种弱型别语言,其源代码不需经过编译,而是由浏览器解释执行,用于控制网页的行为表现层(CSS)...
2021-11-27 06:01:28
2275
原创 前端开发①(VS code编辑器和node.js)
最初所有的开发工作都是由后端工程师完成的,随着业务越来越繁杂,工作量变大,于是我们将项目中的可视化部分和一部分交互功能的开发工作剥离出来,形成了前端开发。大约从2005年开始正式的前端工程师角色被行业所认可,到了2010年,互联网开始全面进入移动时代,前端开发的工作越来越重要。Visual Studio Code 1、下载和安装https://code.visualstudio.com/Download...
2021-11-26 09:30:52
622
原创 Spring Boot开发(八)Swagger2的集成和使用
前后端分离前端 -> 前端控制层、视图层后端 -> 后端控制层、服务层、数据访问层 API文档随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、前后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。一个项目组可能由前端、后端、安卓、IOS等众多的开发人员或者众多开发团队组成。前端和后端唯一联系,变成了API接口;API文档自然就成了前后端开发人员联系的纽带,变得尤为的重要,产生的问题现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离
2021-11-19 03:22:54
590
原创 Spring Boot开发(七)Thymeleaf模板引擎
模板引擎我们知道,在web开发时,一般都会涉及到很多的静态资源,如js、image、css文件等。正如REST web服务,你也可以使用Spring MVC提供动态HTML内容。Spring MVC支持各种各样的模板技术,包括Velocity, FreeMarker和JSPs,很多其他的模板引擎也提供它们自己的Spring MVC集成。模板引擎的原理模板引擎的作用都是将模板(页面)和数据进行整合然后输出显示模板引擎的作用就是我们来写一个页面模板,比如有些值呢,是动态的,我们写一些表达式。而这
2021-11-16 05:49:42
874
原创 Spring Boot开发(六)静态资源映射
在 Web 应用中会涉及到大量的静态资源,例如 JS、CSS 和 HTML 等。我们知道,Spring MVC 导入静态资源文件时,需要配置静态资源的映射;但在 SpringBoot 中则不再需要进行此项配置,因为 SpringBoot 已经默认完成了这一工作。Spring Boot 默认为我们提供了 3 种静态资源映射规则:WebJars 映射默认资源映射静态首页(欢迎页)映射WebJars 映射WebJars 是将客户端(浏览器)资源(JavaScript,Css等)打成 Jar
2021-11-15 02:42:18
5928
1
原创 Spring Boot开发(五)web应用开发
Web开发是我们平时开发中至关重要的,这里就来介绍一下Spring Boot对Web开发的支持。Spring Boot提供了spring-boot-starter-web为Web开发予以支持,spring-boot-starter-web为我们提供了嵌入的Tomcat以及Spring MVC的依赖。项目结构推荐一个好的项目结构会让你开发少一些问题,特别是Spring Boot中启动类要放在root package下面,常见的web工程项目结构如下:root package结构:com.dudu
2021-11-14 02:42:36
604
原创 Spring Boot开发(四)统一异常、JSR303数据校验处理
Spring Boot异常处理实际项目开发中,程序往往会发生各式各样的异常情况,特别是身为服务端开发人员的我们,总是不停的编写接口提供给前端调用,分工协作的情况下,避免不了异常的发生,如果直接将错误的信息直接暴露给用户,这样的体验可想而知,且对黑客而言,详细异常信息往往会提供非常大的帮助…Spring Boot 默认异常处理机制Spring Boot 提供了一套默认的异常处理机制,一旦程序中出现了异常,Spring Boot 会自动识别客户端的类型(浏览器客户端或机器客户端),并根据客户端的不同,以不
2021-11-12 04:12:40
626
原创 Spring Boot开发(三)配置文件
基于springboot的约定优于配置的原则,在多数情况下,启动一个应用时,基本上无需做太多的配置,应用就能正常启动。但在大部分开发环境下,添加额外配置是无所避免的,比如自定义应用端口号(比较在机器比较少的情况下,一台机器还是需要部署多个应用的,当然利用docker的话,是可避免的,这是后话了)、mq的服务地址、缓存服务的服务地址、数据库的配置等,都或多或少的需要一些外部的配置项。配置文件固定格式Spring Boot的核心配置文件用于配置Spring Boot程序,名字必须以application开始
2021-11-10 08:27:26
331
原创 Spring Boot开发(二)开发一个web服务
SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程没有比较就没有伤害,让我们先看看传统Spring MVC开发一个简单的Hello World Web应用程序,你应该做什么,我能想到一些基本的需求。一个项目结构,其中有一个包含必要依赖的Maven或者Gradle构建文件,最起码要有Spring MVC和Servle.
2021-11-08 09:24:40
458
原创 Spring Boot开发(一)深入Spring Boot
随着动态语言的流行(Ruby、Groovy、Scala、Node.js),Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。在上述环境下,Springboot应运而生。它使用”习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。使用springboot很容易创建一个独立运行(运行jar,内嵌servlet容器)、准生产级别的基于Spring框架的项目,使用springboot你可以不用或者只需
2021-11-08 05:23:48
665
原创 微服务(Microservice)Spring Cloud Alibaba
Spring Boot 是 Pivotal 团队在 Spring 的基础上提供的一套全新的开源框架,其目的是为了简化 Spring 应用的搭建和开发过程。Spring Boot 去除了大量的 XML 配置文件,简化了复杂的依赖管理。随着近些年来微服务技术的流行,Spring Boot 也成了时下炙手可热的技术。Spring Boot 具有 Spring 一切优秀特性,用于构建独立的生产就绪Spring应用,用于创建微服务。微服务(Microservice)是什么?微服务(Micro Service)是
2021-11-06 06:08:46
711
1
原创 Spring MVC拦截器(Interceptor)
在系统中,经常需要在处理用户请求之前和之后执行一些行为,例如检测用户的权限,或者将请求的信息记录到日志中,即平时所说的“权限检测”及“日志记录”。当然不仅仅这些,所以需要一种机制,拦截用户的请求,在请求的前后添加处理逻辑。Spring MVC 提供了 Interceptor 拦截器机制,用于请求的预处理和后处理。在开发一个网站时可能有这样的需求:某些页面只希望几个特定的用户浏览。对于这样的访问权限控制,应该如何实现呢?拦截器就可以实现上述需求。在 Struts2 框架中,拦截器是其重要的组成部分,Spr
2021-11-03 06:04:11
12057
1
原创 用jQuery实现Ajax
Ajax 全称“Asynchronous JavaScript and XML”,译为“异步 JavaScript 和 XML”,程序员们习惯称之为“阿贾克斯”,它并不是一种技术,而是多种技术的综合体,其中包括 JavaScript、XML、JSON、DOM、CSS、HTML 以及最重要的 XMLHttpRequest 对象。通过 Ajax 可以异步从服务器请求数据并将数据更新到网页中,整个过程不需要重载(刷新)整个网页,可以将网页的内容更快的呈现给用户。这里的异步是指,当程序执行到 Ajax 代码时,将
2021-11-01 19:03:25
6685
原创 Spring MVC JSON数据交互
我们在开发中后端经常需要接受来自于前端传递的Json字符串数据,怎么把Json字符串转换为Java对象呢?后端也经常需要给前端返回Json字符串,怎么把Java对象数据转换为Json字符串返回呢?回顾JSON...
2021-10-29 06:12:35
574
原创 Spring MVC RESTful风格开发
什么是RESTful风格?RESTful,也叫REST(英文: Representational State Transfer, 简称 REST)即表述性转移,是目前最流行的一种软件架构风格。它结构清晰、易于理解、有较好的扩展性。REST描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,他是 HTTP 规范的主要编写者之一。在目前主流的三种 Web 服务交互方案中,REST 相比于SOAP(Simple Object Access
2021-10-24 05:43:28
165
原创 Spring MVC 快速入门(三)深入理解Spring MVC 思想
“对扩展开放”是Spring Web MVC框架一个重要的设计原则,而对于Spring的整个完整框架来说,其设计原则则是“对扩展开放,对修改闭合”。Spring Web MVC核心类库中的一些方法被定义为final方法。作为开发人员,你不能覆写这些方法以定制其行为。当然,不是说绝对不行,但请记住这条原则,绝大多数情况下不是好的实践。关于该原则的详细解释,你可以参考Seth Ladd等人所著的“深入解析Spring Web MVC与Web Flow”一书。相关信息在第117页,“设计初探(A Look At
2021-10-22 10:17:12
167
原创 Spring MVC 快速入门(二)SpringMVC注解式开发项目
所谓 SpringMVC 的注解式开发是指,在代码中通过对类与方法的注解,便可完成处理器在 springmvc 容器的注册。注解式开发是重点。Spring 2.5 版本新增了 Spring MVC 注解功能,用于替换传统的基于 XML 的 Spring MVC 配置。在第一个配置式SpringMVC程序中创建了传统风格的控制器,是实现 Controller 接口的类。传统风格的控制器不仅需要在配置文件中部署映射,而且只能编写一个处理方法,不够灵活。第一个注解式 SpringMVC 项目注解的项目同样
2021-10-22 02:05:49
352
原创 Spring MVC 快速入门(一)第一个配置式SpringMVC程序
让我们来写一下我们的第一个 Spring MVC 程序:新建一个Maven工程当做父工程!pom依赖!主要有Spring框架核心库、Spring MVC、servlet , JSTL等。 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId>
2021-10-21 08:48:21
1206
2
原创 SpringMVC(零)了解
首先我们来理清一些概念吧:DAO(Data Access Object):主要对数据的操作,增加、修改、删除等原子性操作。Web层:界面+控制器,也就是说JSP【界面】+Servlet【控制器】Service业务层:将多个原子性的DAO操作进行组合,组合成一个完整的业务逻辑控制层:主要使用Servlet进行控制数据访问层:使用DAO、Hibernate、JDBC技术实现对数据的增删改查JavaBean用于封装数据,处理部分核心逻辑,每一层中都用到!什么是MVCMVC的概念MVC是一个架构,或者说是一
2021-10-19 08:40:45
283
原创 Spring事务管理
事务(Transaction)事务(Transaction)是面向关系型数据库(RDBMS)企业应用程序的重要组成部分,用来确保数据的完整性和一致性。一个数据库事务是一个被视为单一的工作单元的操作序列。这些操作应该要么完整地执行,要么完全不执行。事务管理是一个重要组成部分,RDBMS 面向企业应用程序,以确保数据完整性和一致性。事务的概念可以描述为具有以下四个关键属性说成是 ACID:原子性(Atomicity):一个事务是一个不可分割的工作单位,事务中包括的动作要么都做要么都不做。一致性(C
2021-10-18 09:42:38
85
原创 Spring集成MyBatis
回忆MyBatis定义表user定义pojo实体类User在dao层定义UserMapper接口接口对应的Mapper映射文件在 Dao 接口的包中创建 MyBatis 的映射文件 UserMapper,命名与接口名相同,本例为UserMapper.xml。mapper 中的 namespace 取值也为 Dao 接口的全限定性名。定义 MyBatis 主配置文件在resources下定义 MyBatis 的主配置文件,命名为 mybatis-config.xml。<?xml
2021-10-17 05:02:37
319
原创 Spring AOP(面向切面编程)
AOP是Aspect Oriented Programming,即面向切面编程。什么是AOP?我们先回顾一下OOP:Object Oriented Programming,OOP作为面向对象编程的模式,获得了巨大的成功,OOP的主要功能是数据封装、继承和多态。传统OOP是自上而下的逻辑开发;而AOP是一种新的编程方式,它和OOP不同,OOP把系统看作多个对象的交互,AOP把系统分解为不同的关注点,或者称之为切面(Aspect)。事务Transaction的简写成txAOP 采取横向抽取机制(
2021-10-14 05:18:17
949
原创 静态/动态代理模式
代理模式Java代理模式即Proxy Pattern,23种java常用设计模式之一。代理模式的定义:一个类代表另一个类的功能,被代表的类不会对外部提供访问路径,只有代理类提供。这种类型的设计模式属于结构型模式。代理模式这种设计模式是一种使用代理对象来执行目标对象的方法并在代理对象中增强目标对象方法的一种设计模式。代理对象代为执行目标对象的方法,并在此基础上进行相应的扩展。看起来是有点拗口,首先介绍一个原则:开闭原则(对扩展开放,对修改关闭)。一种好的设计模式甚至是架构,都是在不修改原有形态的基础上扩展
2021-10-12 03:28:51
105
原创 Spring中基于注解的DI依赖注入
使用Spring的IoC容器,实际上就是通过类似XML这样的配置文件,把我们自己的Bean的依赖关系描述出来,然后让容器来创建并装配Bean。一旦容器初始化完毕,我们就直接从容器中获取Bean使用它们。使用XML配置的优点是所有的Bean都能一目了然地列出来,并通过配置注入能直观地看到每个Bean的依赖。它的缺点是写起来非常繁琐,每增加一个组件,就必须把新的Bean配置到XML中。有没有其他更简单的配置方式呢?Bean 的装配可以理解为依赖关系注入,Bean 的装配方式也就是 Bean 的依赖注入方式
2021-10-10 04:58:19
347
原创 Spring装配Bean
Bean的装配,即Bean对象的创建。容器根据代码要求创建 Bean 对象后再传递给代码的过程,称为Bean的装配。Spring Bean定义由 Spring IoC 容器管理的对象称为 Bean,Bean 根据 Spring 配置文件中的信息创建。...
2021-10-04 11:01:25
80
原创 Spring 控制反转(IOC)容器
IoC 容器是 Spring 的核心,也可以称为 Spring 容器。Spring 通过 IoC 容器来管理对象的实例化和初始化,以及对象从创建到销毁的整个生命周期。Spring 中使用的对象都由 IoC 容器管理,不需要我们手动使用 new 运算符创建对象。由 IoC 容器管理的对象称为 Spring Bean,Spring Bean 就是 Java 对象,和使用 new 运算符创建的对象没有区别。Spring 通过读取 XML 或 Java 注解中的信息来获取哪些对象需要实例化。Spring 提供
2021-10-01 09:50:24
973
原创 Spring介绍
Spring是什么Spring是一个支持快速开发Java EE应用程序的框架。它提供了一系列底层容器和基础设施,并可以和大量常用的开源框架无缝集成,可以说是开发Java EE应用程序的必备。发展历史Spring最早是由Rod Johnson这哥们在他的《Expert One-on-One J2EE Development without EJB》一书中提出的用来取代EJB的轻量级框架。2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。随后这哥们又开始专心.
2021-09-30 10:12:46
122
原创 MyBatis foreach标签
前面我们学习了如何使用 Mybatis if、where、trim 等动态语句来处理一些简单的查询操作。对于一些 SQL 语句中含有 in 条件,需要迭代条件集合来生成的情况,可以使用 foreach 来实现 SQL 条件的迭代。Mybatis foreach 标签用于循环语句,它很好的支持了数据和 List、set 接口的集合,并对此提供遍历的功能。语法格式如下。 SELECT * FROM product_ WHERE ID in <foreach item="item
2021-09-29 07:48:02
3341
原创 MyBatis trim标签
在 MyBatis 中除了使用 if+where 实现多条件查询,还有一个更为灵活的元素 trim 能够替代之前的做法。trim 一般用于去除 SQL 语句中多余的 AND 关键字、逗号,或者给 SQL 语句前拼接 where、set 等后缀,可用于选择性插入、更新、删除或者条件查询等操作。trim 语法格式如下。trim 中属性说明如下。属性描述prefix给SQL语句拼接的前缀,为 trim 包含的内容加上前缀suffix给SQL语句拼接的后缀,为&
2021-09-29 04:39:45
390
原创 MyBatis set标签
在 Mybatis 中,update 语句可以使用 set 标签动态更新列。set 标签可以为 SQL 语句动态的添加 set 关键字,剔除追加到条件末尾多余的逗号。使用 if+set 标签修改后,如果某项为 null 则不进行更新,而是保持数据库原值。如下示例:<!-- if/set(判断参数) - 将实体 User类不为空的属性更新 --> <update id="updateUser_if_set" parameterType="com.pojo.User">
2021-09-29 04:25:26
1721
javaweb-filter.zip
2021-08-24
写一个查询 springboot+mybatisPlus+restful风格
2022-01-26
为什么redis连接异常,从MySQL获取的数据不能返回前端页面
2021-05-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人