SpringBoot入门-02热部署SpringBoot为我们提供了一个方便我们开发测试的工具dev-tools,使用后可以实现热部署的效果
当我们运行了程序后对程序进行了修改,程序会自动重启
原理是使用了两个ClassLoder,一个ClassLoader加载哪些不会改变的类(第三方jar包),另一个ClassLoader加载会更改的类.称之为Restart ClassLoader,这样在有代码更改的时候,原来的Restart Classloader被丢弃,重新创建一个Restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启
准备工作①设置IDEA自动编译
在idea中的setting做下面配置
②设置允许程序运行时自动启动
ctrl + shift + alt + / 这组快捷键后会有一个小弹窗,点击Registry 就会进入下面的界面,找到下面的配置项并勾选,勾选后直接点close
使用①添加依赖
12345<dependency> <groupId>org.springframework.b ...
SpringBoot入门-01SpringBoot简介为什么要学习SpringBoot我们之前的SSM还是使用起来不够便捷
还需要写很多的配置才能进行正常的使用
实现一个功能需要引入很多的依赖,尤其是要自己去维护依赖的版本,特别容易出现依赖冲突等问题
SpringBoot就能很好的解决上述问题
SpringBoot是什么Spring Boot是基于Spring开发的全新框架,相当于对Spring做了又一层封装
其设计目的是用来简化Spring应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置(自动配置)
并且对第三方依赖的添加也进行了封装简化(起步依赖)
所以Spring能做的他都能做,并且简化了配置
并且还提供了一些Spring所没有的比如:
内嵌web容器,不再需要部署到web容器中
提供准备好的特性,如指标、健康检查和外部化配置
最大特点:自动配置、起步依赖
官网:https://spring.io/projects/spring-boot
快速入门基本环境要求JDK : 17
Maven :3.x.x
Maven配置 ...
SpringMVC入门-03拦截器应用场景如果我们想在多个Handler方法执行之前或者之后都进行一些处理,甚至某些情况下需要拦截掉,不让Handler方法执行,那么可以使用SpringMVC为我们提供的拦截器
拦截器和过滤器的区别过滤器是在Servlet执行之前或者之后进行处理,而拦截器是对Handler(处理器)执行前后进行处理
如图:
创建并配置拦截器创建类实现HandlerInterceptor接口12public class MyInterceptor implements HandlerInterceptor {}
实现方法1234567891011121314151617public class MyInterceptor implements HandlerInterceptor { //在handler方法执行之前会被调用 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler ...
SpringMVC入门-02类型转换器虽然我们前面在获取参数时看起来非常轻松,但是在这个过程中是会出现一些问题
例如,请求参数为success=1 我们期望把这个请求参数获取出来赋值给一个Boolean类型的变量
这里就会涉及到 Stirng-——>Boolean的类型转换了。实际上SpringMVC中内置了很多类型转换器来进行类型转换,也有专门进行Stirng-——>Boolean类型转换的转换器StringToBooleanConverter
如果是符合SpringMVC内置转换器的转换规则就可以很轻松的实现转换,但是如果不符合转换器的规则呢?
例如,请求参数为birthday=2004-12-12 我们期望把这个请求参数获取出来赋值给一个Date类型的变量就不符合内置的规则了,内置的可以把 2004/12/12 这种格式进行转换。这种情况下我们就可以选择自定义类型转换
自定义类型转换器创建类实现Converter接口12345public class StringToDateConverter implements Conve ...
SpringMVC入门-01SpringMVC概述Spring 为展现层提供的基于 MVC 设计理念的优秀的 Web 框架,是目前最主流的MVC 框架之一
一种轻量级的、基于MVC的Web层应用框架,它能让我们对请求数据的出来,响应数据的处理,页面的跳转等等常见的web操作变得更加简单方便
入门案例导入相关依赖12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 <dependencies> <!-- servlet依赖 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provi ...
Spring入门-04Spring整合Junit导入依赖12345678910111213<!-- junit --><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope></dependency><!-- spring整合junit的依赖 --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.3.26</version></dependency>
编写测试类在测试类上加上
**@Ru ...
Spring入门-03AOP概念AOP为Aspect Oriented Programming的缩写,意为:面向切面编程。他是一种可以在不修改原来的核心代码的情况下给程序动态统一进行增强的一种技术
SpringAOP: 批量对Spring容器中bean的方法做增强,并且这种增强不会与原来方法中的代码耦合。
快速入门需求要求让SpringAOP模块中service包下所有类的所有方法在调用前都输出:方法被调用了
准备工作添加依赖需要添加SpringIOC相关依赖和AOP相关依赖。
123456789101112<!--SpringIOC相关依赖--><dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.26</version></dependency><!--AOP相关依赖--><depen ...
Spring入门-02注解开发为了简化配置,Spring支持使用注解代替xml配置
Spring常用注解准备工作如果要使用注解开发必须要开启组件扫描,这样加了注解的类才会被识别出来,Spring才能去解析其中的注解
12<!--启动组件扫描,指定对应扫描的包路径,该包及其子包下所有的类都会被扫描,加载包含指定注解的类--><context:component-scan base-package="com.sinarcsinx"/>
IOC相关注解@Component,@Controller,@Service ,@Repository上述4个注解都是加到类上的
他们都可以起到类似bean标签的作用,可以把加了该注解类的对象放入Spring容器中
实际再使用时选择任意一个都可以,但是后3个注解是语义化注解
如果是Service类要求使用@Service
如果是Dao类要求使用@Repository
如果是Controllerl类(SpringMVC中会学习到)要求使用@Controller
如果是其他类可以使用@Component
例如:
...
Spring入门-01Spring简介Spring是一个开源框架,它是由[Rod Johnson](https://baike.baidu.com/item/Rod Johnson)为了解决企业应用开发的复杂性而创建的
目前是JavaEE开发的灵魂框架
Spring可以简化JavaEE开发,可以非常方便整合其他框架,无侵入的进行功能增强
Spring的核心是 控制反转(IOC)和面向切面(AOP)
IOC控制反转概念控制反转,之前对象的控制权在类手上,现在反转后到了Spring手上
入门案例导入依赖导入SpringIOC相关依赖
12345<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.26</version></dependency>
编写实体类12345678910111213141516171819202 ...
SQL数据库和SQL数据库是什么
数据库是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合(Database,DB)。
数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按照一定的数据模型组织、描述和储存,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。
数据(Data)
数据是数据库中存储的基本对象
描述事物的符号记录称为数据
数据的含义称为数据的语义,数据与其语义是不可分的
用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)。
数据库管理系统和操作系统一样是计算机的基础软件
主要功能
数据定义功能
数据组织、存储和管理
数据操作功能
数据库的事务管理和运行管理
数据库的建立和维护功能
其他功能
DBMS的种类
层次数据库(Hierarchical Database,HDB)
关系数据库(Relational Database,RDB)
面向对象数据库(Object Oriented Database,OODB)
XML数据库(XM ...