自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 收藏
  • 关注

原创 13.Swagger

学习目标了解Swagger的概念及作用掌握在项目中集成Swagger自动生成API文档Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可

2022-06-16 16:50:39 269 1

原创 12.Shiro

12.1.1简介Apache Shiro是一个强大且易用的Java安全框架可以完成身份验证、授权、密码和会话管理Shiro 不仅可以用在 JavaSE 环境中,也可以用在 JavaEE 环境中官网: Apache Shiro | Simple. Java. Security.12.1.2功能Authentication:身份认证/登录,验证用户是不是拥有相应的身份;Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角

2022-06-15 22:01:34 300

转载 10.SpringBoot整合数据库操作

SpringBoot整合数据库操作

2022-06-14 12:34:33 1917

原创 9.SpringMVC自动配置原理

SpringMVC自动配置原理

2022-06-12 22:42:26 218

原创 8.Thymeleaf模板引擎

Thymeleaf模板引擎

2022-06-12 17:34:01 760

原创 7.SpringBoot Web开发总览

在之前我们的项目都是以jar包结尾的,没有放webapp的地方。 springboot最大的特点:自动装配1.创建应用,选择模块导入starter,只需要专注于业务代码springboot到底帮我们配置了什么,我们能不能修改?能修改哪些东西?能不能扩展xxxAutoConfiguration:向容器中自动配置组件xxxProperties:自动配置类,装配配置文件中自定义的一些内容要解决的问题导入静态资源html,css,js首页写jsp的地方,模板引擎Thymeleaf装配和扩展SpringMVC增删改查

2022-06-12 15:59:51 96

原创 5.JSR303数据校验及多环境切换

JSR303数据校验是用来校验输入内容的SprinBoot中可以用@validated来校验数据,如果数异常则会统一抛出异常,方便异常中心统一处理,我们这里来写个注解让我们的name只能支持Email格式;如果没有@Email注解,需要在pom.xml文件中添加依赖:使用数据校验,可以保证数据的正确性5.2多环境切换profile是Spring对不同环境提供不同配置功能的支持,可以通过激活不同的环境版本,实现快速切换环境;我们在主配置文件编写的时候,文件名可以是 application

2022-06-12 12:06:39 155

转载 4.Springboot配置文件

SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的application.properties application.yaml4.2yaml概述YAML是 “YAML Ain’t a Markup Language” (YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)这种语言以数据作为中心,而不是以标记语言为重点!以前的配置文件,大多数都是使用xml来配置

2022-06-11 22:55:19 258

转载 3.自动配置原理初探

Spring-boot-dependencies:核心依赖在父工程中我们在写或者引入springboot依赖的时候,不需要指定版本,因为有这些版本仓库启动器 启动器:说白了就是Springboot的启动场景比如:spring-boot-starter-web,它会帮助我们自动导入web环境所有的依赖springboot会将所有的功能场景,都变成一个个启动器我们要使用什么功能,就需要找到对应的启动器starter在这个里面最重要的就是@SpringBootApplication这个注解了让我

2022-06-11 21:17:17 706

原创 2.第一个SpringBoot程序

我们将学习如何快速的创建一个Spring Boot应用,并且实现一个简单的Http请求处理。通过这个例子对Spring Boot有一个初步的了解,并体验其结构简单、开发快速的特性。我的环境准备:java version “1.8.0_181” Maven-3.6.1 SpringBoot 2.x 最新版 开发工具:IDEASpring官方提供了非常方便的工具让我们快速构建应用,IDEA也集成了这个网站Spring Initializr:https://start.spring.io/使用Spring Ini

2022-06-11 09:41:09 99

转载 1.HelloWorld

从今天开始就进入微服务阶段 javase:OOPMySQL:持久化html+css+js+jquery+框架:视图,框架不熟练,css不好javaweb:独立开发MVC三层架构的网站:原始ssm:框架:简化了我们的开发流程,配置也开始较为复杂;在此之前项目打包都是war包,程序在Tomcat中运行spring再简化:springBoot-jar包,内嵌Tomcat;微服务架构! 服务越来越多:springCloudSpring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod J

2022-06-10 20:10:39 107

原创 SpringBoot06:Web开发静态资源处理

好的,同学们,那么接下来呢,我们开始学习SpringBoot与Web开发,从这一章往后,就属于我们实战部分的内容了;其实SpringBoot的东西用起来非常简单,因为SpringBoot最大的特点就是自动装配。使用SpringBoot的步骤:1.创建一个SpringBoot应用,选择我们需要的模块,SpringBoot就会默认将我们的需要的模块自动配置好2.手动在配置文件中配置部分配置项目就可以运行起来了3.专注编写业务代码,不需要考虑以前那样一大堆的配置了。要熟悉掌握开发,之前学习的自动配置的原理一定要搞

2022-06-07 22:39:20 121

原创 SpringBoot05:自动配置原理

我们以**HttpEncodingAutoConfiguration(Http编码自动配置)**为例解释自动配置原理;ServerProperties.class点击encoding来查看Encoding类自动装配,在application.yaml进行设置 一句话总结 :根据当前不同的条件判断,决定这个配置类是否生效!一旦这个配置类生效,这个配置类就会给容器中添加各种组件;这个组件的属性是从对应的properties类中获取,这些类里面的每一个属性又是和配置文件绑定的;所有在配置文件中能

2022-06-07 21:42:09 192

转载 SpringBoot03:yaml配置注入

SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的application.properties语法结构 :key=valueapplication.yml语法结构 :key:空格 value**配置文件的作用 :**修改SpringBoot自动配置的默认值,因为SpringBoot在底层都给我们自动配置好了;比如我们可以在配置文件中修改Tomcat 默认启动的端口号!测试一下!YAML是 "YAML Ain't a Markup Language" (YAML不是一种标记语言)的

2022-06-06 20:55:20 298

原创 SpringBoot01:Hello,World!

Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。为了降低Java开发的复杂性,Spring采用了以下4种关键策略:基于POJO的轻量级和最小侵入性编程,所以东西都是bean;通过IOC,依赖注入(DI)和面向接口实现松耦合;基于切面(AOP)和惯例进行声明式编程;通过切面和模板减少样式代码,RedisTemplate,xxxTemplate;学过javaweb的同学就知道,开发一个

2022-06-05 23:24:50 100

原创 # 狂神说SpringMVC08:拦截器+文件上传下载

概述SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。**过滤器与拦截器的区别:**拦截器是AOP思想的具体应用。过滤器servlet规范中的一部分,任何java web工程都可以使用在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截拦截器拦截器是SpringMVC框架自己的,只有使用了SprnigMVC框架的过程才能使用拦截器只会拦截访问的控制器方法,果访问的是jsp/html

2022-06-05 14:57:42 153

转载 狂神说SpringMVC06:Json交互处理

JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在 JavaScript 语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。看看他的要求和语法格式:对象表示为键值对,数据由逗

2022-06-05 12:33:45 111

原创 狂神说SpringMVC05:整合SSM框架

环境:IDEAMySQL 5.7.19Tomcat 9Maven 3.6要求: 新建一个Maven web项目 ssmbuild导入相关的pom依赖 Maven资源过滤设置 建立基本结构和配置框架 com.kuang.pojocom.kuang.mappercom.kuang.servicecom.kuang.controllermybatis-config.xml applicationContext.xmlMybatis层编写

2022-06-05 10:28:36 210

转载 狂神说SpringMVC04:数据处理及跳转

设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面 .页面 : {视图解析器前缀} + viewName +{视图解析器后缀}对应的controller类2.ServletAPI通过设置ServletAPI , 不需要视图解析器 .1、通过HttpServletResponse进行输出2、通过HttpServletResponse实现重定向3、通过HttpServletResponse实现转发Note:转发和重定向不需要视图解析器转发可以是 /WEB-I

2022-06-05 09:29:37 73

原创 mybatis29道练习题

环境搭建5.dao层接口xml映射文件测试类接口xml映射文件测试类5.3 RoleMapper接口xml映射文件测试类接口xml映射文件测试类只有update下的需要加

2022-06-04 20:45:53 869

原创 SpringMVC03:RestFul和控制器

控制器复杂提供访问应用程序的行为:通常通过接口定义和注释定义两种方法实现控制器负责解析用户的请求并将其转换为一个模型在Spring MVC中,一个控制器可以包含多个方法在Spring MVC中,对于Controller的配置方法有很多种Controller是一个接口,在org.springframework.web.servlet.mvc包下,接口中只有一个方法测试1.新建一个Moudle,springmvc-04-controller2.在web.xml中配置好 DispatcherServlet,

2022-06-01 20:12:47 97

原创 12、声明式事务

声明式事务

2022-06-01 12:55:34 109

原创 11、整合Mybatis

整合Mybatis

2022-06-01 12:46:46 95

原创 13、缓存(了解即可)

13、缓存(了解即可)

2022-06-01 12:43:23 114

原创 12、动态SQL

动态SQL

2022-06-01 12:41:54 126

原创 11、一对多处理

一对多

2022-06-01 12:40:05 68

原创 10、多对一处理

wfwe

2022-06-01 12:38:40 79

原创 SpingMVC02:第一个MVC程序

SpingMVC02:第一个MVC程序在上一节中,我们讲解了 什么是SpringMVC以及它的执行原理!现在我们来看看如何快速使用SpringMVC编写我们的程序吧!配置版(结合上一节的SpringMVC原理看)1.新建一个Moudle,springmvc-02-hello,添加web支持!2.确定导入了SpringMVC的依赖!3.配置web.xml,注册DispatcherServlet<?xml version="1.0" encoding="UTF-8"?>

2022-05-31 16:10:38 96

原创 SpringMVC01:什么是SpringMVC

SpringMVC01:什么是SpringMVC1、回顾MVC1.1 什么是MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 是将业务逻辑、数据、显示分离的方法来组织代码。 MVC主要作用是降低了视图与业务逻辑间的双向耦合。 MVC不是一种设计模式,MVC是一种架构模式,当然不同的MVC存在差异。 Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,等于现在的数据层(Dao)和服务

2022-05-31 15:45:56 96

原创 9、Lombok(偷懒的话可以使用)

9、Lombok(偷懒的话可以使用)使用步骤:1.在IDEA中安装Lombok插件2.在项目pom.xml中导入Lombok的jar包<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.22</versi

2022-05-31 15:19:12 70

原创 8、使用注解开发

8、使用注解开发8.1、面向接口编程 之前学过面向对象编程,也学习过接口,但在真正的开发中,很多时候会选择面向接口编程。 根本原因:解耦,可拓展,提高复用,分层开发中,上层不用管具体的实现,大家都遵守共同的标准,使得开发变得容易,规范性更好 在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了; 而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块

2022-05-31 15:18:10 84

原创 7、分页操作

7、分页思考:为啥要分页减少数据的处理量7.1、使用Limit分页语法:SELECT * from user limit startIndex,pageSizeSELECT * from user limit 3 #[0,n]使用mybatis实现分页,核心SQL1.接口 //分页查询 List<User> getUserByLimit(Map<String,Integer> map);2.Mapper.xml <sel

2022-05-31 15:16:40 86

原创 5、解决属性名字和字段名不一致的问题

5.1、问题新建一个Moudle mybatis-03,测试实体类字段不一致的情况public class User { private Integer id; private String name; private String password;测试出现问题解决方式:起别名<!--方式一:起别名--> <select id="getUserById" parameterType="Integer" resultT..

2022-05-31 15:15:20 365

原创 4、配置解析

4、配置解析4.1、核心配置文件 mybatis-config.xml MyBatis的配置文件包含了会深深影响MyBatis行为的设置和属性信息。 configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment(环境变量)transactionMana

2022-05-31 15:12:16 90

原创 3、CRUD

3、CRUD3.1、namespaenamespace中的包名要和Dao/Mapper接口的包名一致!3.2、select选择,查询语句: id:就是对应的namespace中的方法名 resultType:Sql语句执行的返回值! parameterType:参数类型 1.编写接口//根据id查用户信息 public User getUserById(Integer id);2.编写对应的mapper中的sql语句 <!--sel

2022-05-31 15:04:23 156

原创 2、第一个Mybatis项目

2、第一个Mybatis项目思路:搭建环境--->导入Mybatis--->编写代码--->测试2.1、搭建环境搭建数据库新建项目 新建一个普通maven项目 删除src目录 导入maven依赖 <dependencies> <dependency> <groupId>mysql</groupId> <artifactId&

2022-05-31 15:01:07 96

原创 1、MyBatis简介

MyBatis入门学习1、MyBatis简介1.1、什么是MyBatisMyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。 MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。1.2、什么是持久化持久化是将程序数据在持久状态和瞬时状态间

2022-05-31 14:58:43 97

原创 10、AOP

10、AOP10.1 什么是aopaop(aspect oriented programming):面向切面编。通过预编译的方式和运行动态代理实现程序功能的统一维护的一种技术10.2 AOP在Spring中的作用提供声明式事务:允许用户自定义切面横切关注点:跨越应用程序多个模块的方法或功能。即:与我们逻辑无关的,但是我们需要专注的部分,就是横切关注点。如:日志,安全,缓存,事务等等 切面(aspect):横切关注点被 模块化 的特殊对象。即:它是一个类 通知(advice):切面必须

2022-05-28 23:06:30 78

原创 9、代理模式

9、代理模式9.1 静态代理角色分析: 抽象角色:一般会使用接口或者抽象类来解决 真实角色:被代理的角色 代理角色:代理别人的角色,里面处理一些业务 客户:访问代理对象的人 步骤1.接口//租房public interface Rent { public void rent();}2.真实角色public class Host implements Rent { @Override public void r

2022-05-28 22:52:22 68

原创 8、使用Java方式配置Spring

8、使用Java方式配置Spring8.1 配置类@Configuration/** * 在一个类上,加上@Configuration,这个类就变成了配置类 * Configuration会被spring托管,因为它本身就是一个@Component */@ComponentScan("com.kuang")@Import(appConfig2.class)public class appConfig { /*注册一个bean,id 就是方法名,class属性 就是方法的返回

2022-05-28 22:50:05 84

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除