努力学习SSM
文章平均质量分 92
努力学习SSM
程子的小段
关注一下我的B站账号吧:https://space.bilibili.com/481428639?spm_id_from=333.1007.0.0
展开
-
MySQL03:DML语言
外键外键概念如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。在实际操作中,将一个表的值放入第二个表来表示关联,所使用的值是第一个表的主键值(在必要时可包括复合主键值)。此时,第二个表中保存这些值的属性称为外键(foreign key)。外键作用保持数据一致性,完整性,主要目的是控制存储在外键表中的数据,约束。使两张表形成关联,外键只能引用外表中的列原创 2022-05-20 10:25:35 · 115 阅读 · 0 评论 -
MySQL02:数据库操作
结构化查询语句分类数据库操作命令行操作数据库创建数据库 : create database [if not exists] 数据库名;删除数据库 : drop database [if exists] 数据库名;查看数据库 : show databases;使用数据库 : use 数据库名;对比工具操作数据库学习方法:对照SQLyog工具自动生成的语句学习固定语法中的单词需要记忆创建数据表属于DDL的一种,语法 :create table [if not exists] `表原创 2022-05-19 12:33:11 · 115 阅读 · 0 评论 -
Linux04:三种软件安装方式及服务器基本环境搭建
环境安装jdk安装(rpm安装)1、rpm下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html2、如果有安装openjdk 则卸载[root@kuangshen ~]# java -versionjava version "1.8.0_121"Java(TM) SE Runtime Environment (build 1.8.0_121-b13)Java HotSpot(TM) 64-Bit Server原创 2022-05-17 22:40:58 · 154 阅读 · 0 评论 -
学长聊Git
学习git之前,我们需要先明白一个概念版本控制!版本控制什么是版本控制版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。实现跨区域多人协同开发追踪和记载一个或者多个文件的历史记录组织和保护你的源代码和文档统计工作量并行开发、提高开发效率跟踪记录整个软件的开发过程减轻开发人员的负担,节省时间,同时降低人为错误简单说就是用于管理多人协同开发项目的技术。没有进行版本控原创 2022-05-14 11:19:59 · 141 阅读 · 0 评论 -
SpringBoot18:集成SpringSecurity
安全简介在 Web 开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来。如果在应用开发的后期才考虑安全的问题,就可能陷入一个两难的境地:一方面,应用存在严重的安全漏洞,无法满足用户的要求,并可能造成用户的隐私数据被攻击者窃取;另一方面,应用的基本架构已经确定,要修复安全漏洞,可能需要对系统的架构做出比较重大的调整,因而需要更多的开发时间,影响应用的发布进程。因此,从应用开发的第一天就应该把安全相关的因素考虑进来,并在整个应用的开发过程中。市面上存在比原创 2022-05-13 23:55:20 · 423 阅读 · 0 评论 -
SpringBoot17:Dubbo和Zookeeper集成
分布式理论什么是分布式系统?在《分布式系统原理与范型》一书中有如下定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”;分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。分布式系统(distributed system)是建立在网络之上的软件系统。首先需要明确的是,只有当单个节点的处理能力无法满足日益增长的计算原创 2022-05-13 10:59:07 · 150 阅读 · 0 评论 -
SpringBoot16:富文本编辑器
简介思考:我们平时在博客园,或者CSDN等平台进行写作的时候,有同学思考过他们的编辑器是怎么实现的吗?在博客园后台的选项设置中,可以看到一个文本编辑器的选项:其实这个就是富文本编辑器,市面上有许多非常成熟的富文本编辑器,比如:Editor.md——功能非常丰富的编辑器,左端编辑,右端预览,非常方便,完全免费官网:https://pandao.github.io/editor.md/wangEditor——基于javascript和css开发的 Web富文本编辑器, 轻量、简洁、界面美观、易用、原创 2022-05-12 13:18:39 · 1079 阅读 · 0 评论 -
SpringBoot15:异步、定时、邮件任务
在我们的工作中,常常会用到异步处理任务,比如我们在网站上发送邮件,后台会去发送邮件,此时前台会造成响应不动,直到邮件发送完毕,响应才会成功,所以我们一般会采用多线程的方式去处理这些任务。还有一些定时任务,比如需要在每天凌晨的时候,分析一次前一天的日志信息。还有就是邮件的发送,微信的前身也是邮件服务呢?这些东西都是怎么实现的呢?其实SpringBoot都给我们提供了对应的支持,我们上手使用十分的简单,只需要开启一些注解支持,配置一些配置文件即可!那我们来看看吧~异步任务1、创建一个service包2、创原创 2022-05-11 10:25:34 · 182 阅读 · 0 评论 -
SpringBoot14:集成Swagger终极版
学习目标:了解Swagger的概念及作用掌握在项目中集成Swagger自动生成API文档Swagger简介前后端分离前端 -> 前端控制层、视图层后端 -> 后端控制层、服务层、数据访问层前后端通过API进行交互前后端相对独立且松耦合产生的问题前后端集成,前端或者后端无法做到“及时协商,尽早解决”,最终导致问题集中爆发解决方案首先定义schema [ 计划的提纲 ],并实时跟踪最新的API,降低集成风险Swagger号称世界上最流行的API框架Restful Ap.原创 2022-05-10 12:29:40 · 253 阅读 · 0 评论 -
SpringBoot13:页面国际化
有的时候,我们的网站会去涉及中英文甚至多语言的切换,这时候我们就需要学习国际化了!准备工作先在IDEA中统一设置properties的编码问题!编写国际化配置文件,抽取页面需要显示的国际化页面消息。我们可以去登录页面查看一下,哪些内容我们需要编写国际化的配置!配置文件编写1、我们在resources资源文件下新建一个i18n目录,存放国际化配置文件2、建立一个login.properties文件,还有一个login_zh_CN.properties;发现IDEA自动识别了我们要做国际化操作;文原创 2022-05-09 19:57:51 · 79 阅读 · 0 评论 -
SpringBoot12:MVC自动配置原理
官网阅读在进行项目编写前,我们还需要知道一个东西,就是SpringBoot对我们的SpringMVC还做了哪些配置,包括如何扩展,如何定制。只有把这些都搞清楚了,我们在之后使用才会更加得心应手。途径一:源码分析,途径二:官方文档!地址 :https://docs.spring.io/spring-boot/docs/2.2.5.RELEASE/reference/htmlsingle/#boot-features-spring-mvc-auto-configurationSpring MVC Aut原创 2022-05-09 11:02:48 · 180 阅读 · 0 评论 -
SpringBoot11:Thymeleaf模板引擎
模板引擎前端交给我们的页面,是html页面。如果是我们以前开发,我们需要把他们转成jsp页面,jsp好处就是当我们查出一些数据转发到JSP页面以后,我们可以用jsp轻松实现数据的显示,及交互等。jsp支持非常强大的功能,包括能写Java代码,但是呢,我们现在的这种情况,SpringBoot这个项目首先是以jar的方式,不是war,像第二,我们用的还是嵌入式的Tomcat,所以呢,他现在默认是不支持jsp的。那不支持jsp,如果我们直接用纯静态页面的方式,那给我们开发会带来非常大的麻烦,那怎么办呢?S原创 2022-05-08 11:49:48 · 253 阅读 · 0 评论 -
SpringBoot10:Web开发静态资源处理
Web开发探究简介接下来,我们开始学习SpringBoot与Web开发,从这一章往后,就属于我们实战部分的内容了;其实SpringBoot的东西用起来非常简单,因为SpringBoot最大的特点就是自动装配。使用SpringBoot的步骤:1、创建一个SpringBoot应用,选择我们需要的模块,SpringBoot就会默认将我们的需要的模块自动配置好2、手动在配置文件中配置部分配置项目就可以运行起来了3、专注编写业务代码,不需要考虑以前那样一大堆的配置了。要熟悉掌握开发,之前学习的自动配置原创 2022-05-07 10:58:57 · 145 阅读 · 0 评论 -
SpringBoot09:整合MyBatis
官方文档:http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/Maven仓库地址:https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter/2.1.1整合测试1、导入 MyBatis 所需要的依赖<dependency> <groupId>org.mybati原创 2022-05-06 21:57:19 · 148 阅读 · 0 评论 -
SpringBoot08:整合Druid
Druid简介Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Spring Boot 2.0 以上默认使用 Hikari 数据源,可以说 Hika原创 2022-05-06 11:46:50 · 136 阅读 · 0 评论 -
SpringBoot07:整合JDBC
SpringData简介对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 底层都是采用 Spring Data 的方式进行统一处理。Spring Boot 底层都是采用 Spring Data 的方式进行统一处理各种数据库,Spring Data 也是 Spring 中与 Spring Boot、Spring Cloud 等齐名的知名项目。Sping Data 官网:https://spring.io/projects/spring-data原创 2022-05-05 10:50:06 · 150 阅读 · 0 评论 -
SpringBoot06:自定义starter
我们分析完毕了源码以及自动装配的过程,我们可以尝试自定义一个启动器来玩玩!说明启动器模块是一个 空 jar 文件,仅提供辅助性依赖管理,这些依赖可能用于自动装配或者其他类库;命名归约:官方命名:前缀:spring-boot-starter-xxx比如:spring-boot-starter-web…自定义命名:xxx-spring-boot-starter比如:mybatis-spring-boot-starter编写启动器1、在IDEA中新建一个空项目 spring-boot-sta原创 2022-05-04 12:28:00 · 80 阅读 · 0 评论 -
Java工程师 web开发其他面试题(Day21)
1 cookie和session的区别是什么?参考答案存储位置不同:cookie存放于客户端;session存放于服务端。存储容量不同:单个cookie保存的数据<=4KB,一个站点最多保存20个cookie;而session并没有上限。存储方式不同:cookie只能保存ASCII字符串,并需要通过编码当时存储为Unicode字符或者二进制数据;session中能够存储任何类型的数据,例如字符串、整数、集合等。隐私策略不同:cookie对客户端是可见的,别有用心的人可以分析存放在本地的coo原创 2022-05-04 12:20:38 · 506 阅读 · 0 评论 -
SpringBoot05:自动配置原理
自动配置原理配置文件到底能写什么?怎么写?SpringBoot官方文档中有大量的配置,我们无法全部记住分析自动配置原理我们以HttpEncodingAutoConfiguration(Http编码自动配置)为例解释自动配置原理;//表示这是一个配置类,和以前编写的配置文件一样,也可以给容器中添加组件;@Configuration //启动指定类的ConfigurationProperties功能; //进入这个HttpProperties查看,将配置文件中对应的值和HttpProper原创 2022-05-03 12:21:15 · 159 阅读 · 0 评论 -
Java工程师 web开发MyBatis面试题(Day20)
1 谈谈MyBatis和JPA的区别参考答案ORM映射不同:MyBatis是半自动的ORM框架,提供数据库与结果集的映射;JPA(默认采用Hibernate实现)是全自动的ORM框架,提供对象与数据库的映射。可移植性不同:JPA通过它强大的映射结构和HQL语言,大大降低了对象与数据库的耦合性;MyBatis由于需要写SQL,因此与数据库的耦合性直接取决于SQL的写法,如果SQL不具备通用性而用了很多数据库的特性SQL的话,移植性就会降低很多,移植时成本很高。日志系统的完整性不同:JPA日志原创 2022-05-03 12:08:27 · 1269 阅读 · 0 评论 -
SpringBoot04:JSR303数据校验及多环境切换
JSR303数据校验先看看如何使用Springboot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。我们这里来写个注解让我们的name只能支持Email格式;@Component //注册bean@ConfigurationProperties(prefix = "person")@Validated //数据校验public class Person { @Email(message="邮箱格式错误") //name必须是邮箱格式原创 2022-05-02 23:31:03 · 70 阅读 · 0 评论 -
SpringBoot03:yaml配置注入
yaml语法学习配置文件SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的application.properties语法结构 :key=valueapplication.yml语法结构 :key:空格 value配置文件的作用 :修改SpringBoot自动配置的默认值,因为SpringBoot在底层都给我们自动配置好了;比如我们可以在配置文件中修改Tomcat 默认启动的端口号!测试一下!server.port=8081yaml概述YAML是 “YAML Ain原创 2022-05-02 12:10:08 · 152 阅读 · 0 评论 -
Java工程师 web开发Spring MVC面试题(Day19)
1 什么是MVC?参考答案MVC是一种设计模式,在这种模式下软件被分为三层,即Model(模型)、View(视图)、Controller(控制器)。Model代表的是数据,View代表的是用户界面,Controller代表的是数据的处理逻辑,它是Model和View这两层的桥梁。将软件分层的好处是,可以将对象之间的耦合度降低,便于代码的维护。2 DAO层是做什么的?参考答案DAO是Data Access Object的缩写,即数据访问对象,在项目中它通常作为独立的一层,专门用于访问数据库。这一层的原创 2022-05-02 11:59:33 · 399 阅读 · 0 评论 -
SpringBoot02:运行原理初探
我们之前写的HelloSpringBoot,到底是怎么运行的呢,Maven项目,我们一般从pom.xml文件探究起;pom.xml父依赖其中它主要是依赖一个父项目,主要是管理项目的资源过滤及插件!<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <ver原创 2022-05-01 11:02:50 · 113 阅读 · 0 评论 -
SpringBoot01:Hello,World
回顾什么是SpringSpring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。Spring是如何简化Java开发的为了降低Java开发的复杂性,Spring采用了以下4种关键策略:1、基于POJO的轻量级和最小侵入性编程,所有东西都是bean;2、通过IOC,依赖注入(DI)和面向接口实现松耦合;3、基于切面(AOP)和惯例进行声明式编程;4、通过切面和模版减少样式代码,R原创 2022-04-30 21:54:14 · 264 阅读 · 0 评论 -
SpringMVC08:拦截器+文件上传下载
概述SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。过滤器与拦截器的区别:拦截器是AOP思想的具体应用。过滤器servlet规范中的一部分,任何java web工程都可以使用在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截拦截器拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用拦截器只会拦截访问的控制器方法, 如果访问的是js原创 2022-04-30 11:40:09 · 179 阅读 · 0 评论 -
Java工程师 web开发Spring Boot面试题(Day17)
1 说说你对Spring Boot的理解参考答案从本质上来说,Spring Boot就是Spring,它做了那些没有它你自己也会去做的Spring Bean配置。Spring Boot使用“习惯优于配置”的理念让你的项目快速地运行起来,使用Spring Boot很容易创建一个能独立运行、准生产级别、基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。简而言之,Spring Boot本身并不提供Spring的核心功能,而是作为Spring的脚手架框架,以达到原创 2022-04-30 11:26:39 · 302 阅读 · 0 评论 -
SpringMVC07:Ajax研究
简介AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。在 2005 年,Google 通过其 Google Suggest 使 AJAX 变得流行起来。Google Suggest能够自动帮你完成搜索单词。Google Suggest 使用 AJAX 创造出动态性原创 2022-04-29 10:44:27 · 173 阅读 · 0 评论 -
SpringMVC06:Json交互处理
什么是JSON?JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在 JavaScript 语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。看看他的要求和语法格式:原创 2022-04-28 23:35:13 · 124 阅读 · 0 评论 -
SpringMVC05:整合SSM框架
环境要求环境:IDEAMySQL 5.7.19Tomcat 9Maven 3.6要求:需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识;数据库环境创建一个存放书籍数据的数据库表CREATE DATABASE `ssmbuild`;USE `ssmbuild`;DROP TABLE IF EXISTS `books`;CREATE TABLE `books` (`bookID` INT(10) NOT NULL AUTO_INCR原创 2022-04-28 10:48:42 · 149 阅读 · 0 评论 -
SpringMVC04:数据处理及跳转
结果跳转方式ModelAndView设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面 .页面 : {视图解析器前缀} + viewName +{视图解析器后缀}<!-- 视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> &l原创 2022-04-27 11:26:02 · 109 阅读 · 0 评论 -
SpringMVC03:RestFul和控制器
控制器Controller控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现。控制器负责解析用户的请求并将其转换为一个模型。在Spring MVC中一个控制器类可以包含多个方法在Spring MVC中,对于Controller的配置方式有很多种实现Controller接口Controller是一个接口,在org.springframework.web.servlet.mvc包下,接口中只有一个方法;//实现该接口的类获得控制器功能public interface Con原创 2022-04-26 23:26:50 · 94 阅读 · 0 评论 -
SpringMVC02:第一个MVC程序
现在我们来看看如何快速使用SpringMVC编写我们的程序吧!配置版1、新建一个Moudle , springmvc-02-hello , 添加web的支持!2、确定导入了SpringMVC 的依赖!3、配置web.xml , 注册DispatcherServlet<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi原创 2022-04-26 15:23:47 · 126 阅读 · 0 评论 -
SpringMVC01:什么是SpringMVC
1、回顾MVC1.1、什么是MVCMVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和原创 2022-04-25 21:11:24 · 122 阅读 · 0 评论 -
Spring09:声明式事务
回顾事务事务在项目开发过程非常重要,涉及到数据的一致性的问题,不容马虎!事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性。事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用。事务四个属性ACID原子性(atomicity)事务是原子性操作,由一系列动作组成,事务的原子性确保动作要么全部完成,要么完全不起作用一致性(consistency)一旦所有事务动作完成,事务就要被提交。数据和资源处于一种满足业务规则的一致性状态中隔离性(isola原创 2022-04-25 10:04:43 · 116 阅读 · 0 评论 -
Spring08:整合MyBatis
步骤1、导入相关jar包junit<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version></dependency>mybatis<dependency> <groupId>org.mybatis</groupId>原创 2022-04-24 23:29:37 · 92 阅读 · 0 评论 -
Spring07:AOP就这么简单
什么是AOPAOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。Aop在Spring中的作用提供声明式事务;允许用户自定义切面以下名词需要了解下:横切关注点:跨越应用原创 2022-04-24 10:39:35 · 127 阅读 · 0 评论 -
Spring06:静态/动态代理模式
为什么要学习代理模式,因为AOP的底层机制就是动态代理!代理模式:静态代理动态代理学习aop之前 , 我们要先了解一下代理模式!静态代理静态代理角色分析抽象角色 : 一般使用接口或者抽象类来实现真实角色 : 被代理的角色代理角色 : 代理真实角色 ; 代理真实角色后 , 一般会做一些附属的操作 .客户 : 使用代理角色来进行一些操作 .代码实现Rent . java 即抽象角色//抽象角色:租房public interface Rent { public void r原创 2022-04-23 10:07:25 · 147 阅读 · 0 评论 -
Spring05:使用注解开发
说明在spring4之后,想要使用注解形式,必须得要引入aop的包在配置文件当中,还得要引入一个context约束<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://原创 2022-04-22 11:12:36 · 96 阅读 · 0 评论 -
Spring04:自动装配
Bean的自动装配自动装配说明自动装配是使用spring满足bean依赖的一种方法spring会在应用上下文中为某个bean寻找其依赖的bean。Spring中bean有三种装配机制,分别是:在xml中显式配置;在java中显式配置;隐式的bean发现机制和自动装配。这里我们主要讲第三种:自动化的装配bean。Spring的自动装配需要从两个角度来实现,或者说是两个操作:组件扫描(component scanning):spring会自动发现应用上下文中所创建的bean;自动装配(au原创 2022-04-21 23:18:08 · 97 阅读 · 0 评论