SpringBoot
[TOC]
SpringBoot入门
HelloWorld项目
首先创建maven工程
引入依赖:
123456789101112<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.8.RELEASE</version></parent><dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency></dependencies>
创建主程序:
12345 ...
SpringMVC
MVC 概念
MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。
是将业务逻辑、数据、显示分离的方法来组织代码。
MVC主要作用是降低了视图与业务逻辑间的双向偶合。
MVC不是一种设计模式,MVC是一种软件架构模式。
**Model(模型):**数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行为Service)。也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。
**View(视图):**界面设计人员进行图形界面设计。
**Controller(控制器):**负责转发请求,对请求进行处理。
MVC 程序(配置版)
目录结构:
123456789101112131415161718|-- pom.xml|-- src| |-- main| | |-- java| | | `-- com| | | `-- k ...
Spring
Spring 有两个核心部分:IoC 和AOP
IoC:控制反转,把创建对象过程交给 Spring 进行管理
AOP:面向切面,不修改源代码进行功能增强
IoC
IoC全称Inversion of Control,直译为控制反转,把对象创建和对象之间的调用过程,交给 Spring 进行管理 ,又称为依赖注入(DI:Dependency Injection),它解决了一个最主要的问题:将组件的创建+配置与组件的使用相分离,并且,由IoC容器负责管理组件的生命周期。
Xml方式
简单例子:
12345public class User { public void show() { System.out.println("------show------"); }}
spring config 的 bean1.xml:
123456789<?xml version="1.0" encoding="UTF-8"?><beans xmlns=&q ...
数据库连接池 和 DBUtils实现类
对数据库连接池 和 DBUtils实现类的学习笔记
Java 泛型
对廖雪峰老师的Java泛型的学习和摘录
JDBC 事务处理
数据库事务
数据库事务介绍
事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。
事务处理(事务操作): 保证所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事务都 被提交(commit),那么这些修改就永久地保存下来;要么数据库管理系统将放弃所作的所有修改,整个事务 回滚(rollback) 到最初状态。
为确保数据库中数据的一致性,数据的操纵应当是离散的成组的逻辑单元:当它全部完成时,数据的一致性可以保持,而当这个单元中的一部分操作失败,整个事务应全部视为错误,所有从起始点以后的操作应全部回退到开始状态。
JDBC事务处理
数据一旦提交,就不可回滚。
数据什么时候意味着提交?
当一个连接对象被创建时,默认情况下是自动提交事务:每次执行一个 SQL 语句时,如果执行成功,就会向数据库自动提交,而不能回滚。
**关闭数据库连接,数据就会自动的提交。**如果多个操作,每个操作使用的是自己单独的连接,则无法保证事务。即同一个事务的多个操作必须在同一个连接下。
JDBC程序中为了让多 ...
Java 反射机制
什么是反射?
反射就是在运行时才知道要操作的类是什么,并且可以在运行时获取类的完整构造,并调用对应的方法。
一个简单的例子
123456789101112131415161718192021222324252627public class Apple { private int price; public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public static void main(String[] args) throws Exception { // 正常的调用 Apple apple = new Apple(); apple.setPrice(5); System.out.println("Apple Price:" + apple.g ...
数据库的增删改查
对数据库的增删改查的学习笔记
最长公共子序列
给定两个长度分别为N和M的字符串A和B,求既是A的子序列又是B的子序列的字符串长度最长是多少。
石子合并
AcWing上的一道区间DP模板题