自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringMVC六:接受参数以及数据回显

接受参数以及数据回显User.java在上一节的aaoo例子中,新建一个com.pojo包,在包新建一个实体类package com.pojo;public class User { private int id; private String name; private String pwd; public User() { } public User(int id, String name, String pwd) { thi

2020-08-21 15:59:32 163

原创 SpringMVC笔记五:SpringMVC的重定向转发

SpringMVC重定向转发1. 新建一个子项目具体可以参考https://blog.csdn.net/weixin_41549354/article/details/1081380042. web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSch

2020-08-21 11:44:40 168

原创 SpringMVC笔记四:RestFul风格

RestFul风格1. 概念RestFul就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更加简介,更有层次,更易于实现缓存等机制,以及更加安全。2. 功能资源:互联网中所有的事物都可以被抽象为资源,可以通过url统一资源定位符访问。资源操作:使用POST,GET,PUT,DELETE等不同的方法对资源进行操作。传统的操作资源方式:通过不同的参数来实现不同的效果。方法单一,即post和get例如:http://localhost/us

2020-08-21 04:12:44 156

原创 SpringMVC笔记三:使用注解开发SpringMVC

使用注解开发SpringMVC1. 新建一个子项目具体方法可以参考https://blog.csdn.net/weixin_41549354/article/details/1081380042. 项目结构截图3. web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.o

2020-08-21 03:18:02 129

原创 SpringMVC笔记二:SpringMVC执行原理实例讲解

SpringMVC执行原理1. 第一个SpringMVC程序1.1 新建一个父项目新建一个普通maven项目,并导入依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h

2020-08-20 23:58:04 583

原创 SpringMVC笔记一:SpringMVC简介

SpringMVC简介1. 关于MVC架构MVC是模型(Model),视图(View),控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑,数据,显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑之间的双向耦合。MVC不是一种设计模式,而是一种架构模式。Model:数据模型,提供要展示的数据,因此包含数据和行为,一般模型要分为Service业务层,和Dao数据持久层。也就是模型提供了模型数据查询和模型数据状态更新的功能,包括数据和业务。View,负责进行模型的展示,

2020-08-20 23:54:16 94

原创 JavaWeb一:HTTP入门概念

HTTP关于hhtphttp:超文本传输协议,它是一个请求-相应协议,它通常运行在TCP上。文本----html,字符串等。超文本-----视频,音频,图片,定位,地图等等,http默认端口80,https默认端口443,s,安全的意思。http请求客户端----发请求----服务器请求一般包含请求地址,URL,请求方法(Request Method),常见方法为get,postget:请求参数比较少,可携带的资源比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,但高效Post

2020-08-16 20:21:31 101

原创 Spring入门学习十二:Spring常用知识点总结

Spring总结1. 关于Spring官网:https://docs.spring.io/spring/docs/current/spring-framework-reference/core.htmlSpring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架。目的是为了解决企业开发的复杂性。1.1 Spring环境搭建maven中导入依赖,maven仓库地址:https://mvnrepository.com/。这里我们直接导入spring-webmvc的jar,它会自动将一些其

2020-08-16 04:57:01 210

原创 Spring入门学习十一:声明式事务

声明式事务1. 什么是事务把一组业务当成一个业务来执行,要么都成功,要么都失败,如果执行到一半遇到失败,那么事务将会回滚事务及其重要,不容马虎,设计到数据一致性问题。确保数据的完整性跟一致性事务的的ACID原则原子性一致性隔离性:多个业务可能操作同一个资源,防止数据损坏。持久性:事务一旦提交,无论系统发生什么问题,结果都不会被影响,被持久化的写到存储器中。2. spring的事务管理声明式事务:AOP。编程式事务:3. 代码编写3.1 实体类package com

2020-08-15 23:52:32 64

原创 Spring入门学习十:Spring整合Mybatis

Spring整合Mybatis1. 导入相关jar包新建一个子项目Spring11-son-Mybaits-Spring除了mybatis相关包以及Spring相关包之外,还需要一个mybatis-spring包。spring连接数据库还需要导入spring-jdbc的包注意,如果spring是5.0,mybatis是3.5以上的包,那么mybatis-spring需要2.0以上的包<?xml version="1.0" encoding="UTF-8"?><project x

2020-08-15 02:06:45 135

原创 Mybatis入门学习总结

Mybatis总结1. 开发流程1.1 相关依赖 <!-- mysql驱动 --> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId>

2020-08-14 23:39:04 152

原创 Spring入门学习九:AOP

AOP什么是AOPAOP(Aspect Oriented Programing):面向切面编程,通过预编译和运行期间动态代理实现程序功能统一维护的一种技术。AOP是OOP的一种延续,是软件开发的一个热点,也是Spring框架中的一个重点,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各个部分之间的耦合度降低,提高程序的可重用性,同事提高开发效率AOP在Spring中的作用提供声明式事务,允许用户自定义切面横切关注点:即与业务逻辑无关的,但是我们需要关注的

2020-08-14 03:38:55 92

原创 Spring入门学习八:动态代理模式

动态代理模式动态代理模式不再像静态代理模式那样,为没一个真实对象去增加一个代理类,而是利用java反射去动态生成一个代理类。动态代理跟静态代理角色是一样的。动态代理分为两大类基于接口的动态代理—jdk动态代理【本博客以jdk动态代理为例】基于类的动态代理—cglib动态代理ProxyProxy提供了创建动态代理类的静态方法public static Object newProxyInstance( ClassLoader loader,//类加载器 来定义这个返回的代理类的类型

2020-08-13 20:42:37 122

原创 Spring入门学习七:静态代理模式

静态代理模式SpringAOP的底层就是代理模式,代理模式是必须要精通的。代理模式分为:静态代理动态代理jdk动态代理cglib动态代理这一节主要讲静态代理。租房子关于代理模式,我们可以举一个简单的例子。在我们现实生活中,去租房子,一般是无法找到房东的,而房东也很难联系到需要租房子的人,所以出现了这么一个角色,房屋中介(代理)。房东讲房子交给中介,我们直接从中介手里租房子,在我们眼里,中介就等同于房东了,我们的需求直接通过中介就可以实现。而中介跟房东都有一个共同的行为,就是出租房

2020-08-10 01:58:20 113

原创 Spring入门学习六:使用java的方式配置Spring

使用java的方式配置Spring我们现在不用Spring的xml配置,而是交给java来做,在Spring4之后它成为了核心功能。新建一个module实体package com.pojo;import lombok.ToString;import org.springframework.beans.factory.annotation.Value;@ToStringpublic class User { @Value("Clay") private String nam

2020-08-09 23:45:14 102

原创 Spring入门学习五:Spring注解开发

Spring注解开发在Spring4之后,要使用注解开发,必须要保证AOP的包导入了。使用注解开发需要在配置文件里面导入context约束,增加注解支持,并开启注解。xml比较万能,维护简单方便,使用于很多复杂的场景。注解(annotation),减少繁琐的xml配置,有一定的局限性,维护相对复杂。新建一个module参考之前的博客,Spring06-son-annotationPOJOpackage com.pojo;import lombok.ToString;import org.

2020-08-09 23:06:23 83

原创 Spring入门学习四:自动装配

自动装配在前面几个例子中,每一个参数都是我们自己手动装配的,但是spring提供了满足bean依赖的一种方式,它会在上下文中自动寻找,并给Bean装配属性。spring的三种装配方式xml中显示的配置隐式的自动装配【重点】在java中显示配置【了解】环境搭建可以参考前面的博客。实体package com.pojo;public class Phone { public void playGame() { System.out.println("用手机打游戏"

2020-08-09 22:14:27 84

原创 Spring入门学习三:依赖注入DI,Bean的作用域

依赖注入DIDependency Injection。在Spring中注入的方式有三种构造器注入(上一个例子中已经见过了,不再次赘述)set注入【重点掌握】其他方式set注入依赖:bean对象的创建依赖Spring容器注入:bean对象的所有属性,由容器来注入环境搭建先新建一个module,Spring03-son-di引用实体package com.pojo;import lombok.ToString;@ToStringpublic class Address {

2020-08-09 03:39:38 116

原创 Spring入门学习二:控制反转IOC

控制反转IOCSpring环境搭建本章节将在IDEA中开发,在Eclipse(STS)中创建项目基本是一样的,无此经验者,可以自行百度。创建一个maven父项目file-new-project在父项目中导入jar包我们选择已maven的方式导入,maven仓库地址:https://mvnrepository.com/。这里我们直接导入spring-webmvc的jar,它会自动将一些其他依赖的jar包导入,比如core,context,AOP,beans,expression,等。如果IDE

2020-08-08 23:49:19 138

原创 Spring入门学习一: Spring简介

Spring简介Spring:春天,即软件行业的春天。Spring是由于软件开发的复杂性而创建的。在2002年的时候首次推出了Spring的雏形,interface21。在2004年正式发布了Spring1.0。有意思的是,这个东西的作者Rod Johnson是悉尼大学的音乐学博士,不是学计算机的目的解决企业开发的复杂性功能Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架。理念简单的说就是让开发变得更加简单,本身就是一个大杂烩,什么乱七八糟的东西都支持,整合了现有的技

2020-08-08 14:33:44 93

原创 Mybatis入门学习十二:动态SQL

动态SQL动态sql就是指,根据不同的执行条件生成不同的sql语句。IF,choose,trim,foreach搭建环境准备数据库可以用之前的Mybatis数据库,也可以自行新建一个数据库。然后一条一条执行下面sql-- ------------------------------ Table structure for `blog`-- ----------------------------DROP TABLE IF EXISTS `blog`;CREATE TABLE `blo

2020-08-08 02:28:39 76

原创 Mybatis入门学习十一:多对一与一对多的处理

多对一与一对多多对一与多对一这种东西举几个例子就明白了,就是数学里面的集合。多个学生对一个老师,对学生这边而言,多个学生关联一个老师,对于老师而言,一个老师教很多学生。多首歌曲对一个专辑。在数据库中就是主键外键的关系,在java代码中,就是声明别的实体类作为当前实体类的一个属性的关系多人运动?废话不多说,淦就完了:准备数据库准备工作,在Mybatis(自己重新建一个也可以,到时候修改一些Mybatis的配置文件就行)数据库中,建立如下两个表,建立步骤不要一次性执行,由黄色分割线一步一步

2020-08-05 00:55:52 87

原创 Mybatis入门学习十:并没有什么太大用处的Lombok

Lombok这一章其实跟Mybatis并没有什么太多关系,硬要说的话,也只是这东西简化了Mybatis中实体类的开发。写在这里只不过相当于题外话,介绍一下这个我个人写项目的时候还在用的东西。Lombok项目是一个Java库,它会自动插入编辑器和构建工具中Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类不用编写域访问器构造器Lombok安装第一步:去官网下载lombok安装包第二步:将l

2020-08-04 22:24:08 99

原创 Mybatis入门学习九:Mybatis注解开发增删改查功能

Mybatis注解开发大部分框架都是一般都是使用的注解开发,Mybatis除外,Mybatis一般使用XML开发,但是作为一个提升开发效率,减少代码量的一个东西,仍然需要了解,就好比我当初刚学的时候,写了很多的小型管理系统,全部用的注解开发,因为这种东西,不需要二次开发,后期维护什么什么的,没有那么多考虑,淦就完了。关于面向接口编程我们一般说java是全面向对象语言,我们也是面向对象开发程序员,但是在实际的开发中,大部门企业都会选择面向接口编程。它的根本原因就是在于,解耦,提高代码的复用性,然后一大部

2020-08-04 17:46:03 196

原创 Mybatis入门学习八:分页

分页减少数据处理量,提高效率更好的用户交互。Limit分页select * from user limit startIndex,pageSize#startIndex 起始位置,从0开始#pageSize 每页数据量我们可以在Mybatis01-son项目里面添加一段代码测试:userdao://分页 List<User> queryUserLimitList(@Param("startIndex")int startIndex, @Param("pageSize")

2020-08-04 16:38:45 238

原创 Mybatis入门学习七:日志

日志日志工厂如果一个数据库操作出现了异常,我们需要排错,日志可以帮助我们进行排错检查,即将程序执行的sql在控制台或者别的地方打印。Mybatis 通过使用内置的日志工厂提供日志功能。内置日志工厂将会把日志工作委托给下面的实现之一:SLF4JApache Commons LoggingLog4j 2Log4jJDK loggingSTDOUT_LOGGING我们可以在Mybatis的配置文件中通过setting中设置,类似用法: <!-- 配置日志,非要要注意大小写跟空格

2020-08-03 18:24:50 317

原创 Mybatis入门学习六:作用域(scope),生命周期,结果映射

作用域(scope)和生命周期作用域和生命周期类别是至关重要的,因为错误的使用会导致非常严重的并发问题。即只有在并发的情况在才会出现问题。Mybatis执行流程SqlSessionFactoryBuilder这个类可以被实例化、使用和丢弃,一旦创建了 SqlSessionFactory,就不再需要它了局部变量SqlSessionFactory跟数据库连接池类似。SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由丢弃它或重新创建另一个实例,它会一

2020-08-02 23:57:17 216

原创 Mybatis入门学习五: Mybatis-config.xml配置解析

Mybatis-config.xml配置解析官网对应文档地址声明:详尽的配置解析,可以参考官方文档,本文只是列举官方文档中常用的配置,并且加以解释说明。关于Mybaits核心配置文件需要掌握的大致如下,可以自行参考官方文档以及https://blog.csdn.net/weixin_41549354/article/details/107739736搭建一个Mybatis02-son自己配置一下,剩下的内容也可以阅读官方文档自行了解。属性(properties)即我们可以将一些值进行外部声明,然

2020-08-02 22:19:15 403

原创 Mybatis入门学习四:完善增删改查功能

完善增删改查功能我们在上一个程序中添加增删改查代码,完善之后的代码为UserDao:package com.dao;import java.util.List;import org.apache.ibatis.annotations.Select;import com.pojo.User;public interface UserDao { List<User> GetAllUser(); //注解的方法,不推荐 @Select("Select * From my

2020-08-02 18:16:38 138

原创 Mybatis入门学习三:编写第一个mybatis程序

通过上一节,我们已经搭建了一个基本的mybatis框架开发环境,接下来通过一小段代码,了解一下mybatis开发的大致流程编写Mybatis核心配置文件完整的项目结构截图:编写mybatis-config.xml获取SqlSessionFactory每 一 个 MyBatis 的 应 用 程 序 都 以 一 个 SqlSessionFactory 对 象 的 实 例 为 核 心 。 SqlSessionFactory 对 象 的 实 例 可 以 通 过 SqlSessionFactoryBuild

2020-08-02 01:52:03 151

原创 Mybatis入门学习二:搭建Mybaits环境

搭建一个Mybaits环境。搭建数据库:安装mysql5.7数据库,百度即可。搭建Maven环境:百度。建库:Create Database mybatis建表CREATE TABLE `user` ( `id` INT(10) NOT NULL PRIMARY KEY, `name` VARCHAR(32) DEFAULT NULL, `pwd` VARCHAR(32) DEFAULT NULL)ENGINE=INNODB DEFAULT CHARSET=utf8;#配置引擎字...

2020-08-02 01:34:32 169

原创 Mybaits入门学习一:Mybaits简介

1.Mybatis介绍1.1 什么是mybatisMyBatis是一款优秀的持久层框架它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有JDBC代码和手动设置参数以及获取结果集。myBatis可以使用简单的XML或者注解来配置和映射。1.2 持久层​ 持久层Dao层,数据持久化就是将层数的数据在持久状态和瞬时状态转换的过程内存:断电即失数据库(JDBC),io文件持久化有一些对象,不能让它丢掉内存太贵。1.3 为什么需要Mybatis

2020-08-02 01:16:30 621

原创 Java反射----简单的聊聊java反射

1.什么是动态语言跟静态语言要准确理解反射的概念,首先需要知道什么是动态语言与静态语言。动态语言:在运行的时候,可以改变程序自身结构,比如C#,JavaScript,python,比如改变变量类型,删除函数,引进一些代码。静态语言:c,Java,C++,运行时结构不可改变。Java可以通过反射变成准动态语言,让编程更加灵活。2.关于ClassJava反射Reflection允许java程序在执行期间借助于ReflectionAPI获取任何类的内部信息,并能够直接操作内部属性及方法。在JVM中,加

2020-06-02 16:29:33 142

原创 设计模式----代理模式

什么是代理模式:代理模式的逻辑其实理解起来很简单,就是好比我们租房子,我们面向的中介就是一个代理对象,我们直接与中介沟通,中介与真正的房东沟通,在我们眼里,中介就好比房东一样。中介与房东有公共的行为约束接口。代理模式是springAOP的底层原理代理模式的分类1.静态代理:抽象角色:一般会使用接口或抽象类来解决,代理对象与被代理对象的公共动作。真实角色:被代理的角色代理角色:代理真实角色,代理真实角色之后,我们一般会做一些附属操作。代理模式的好处:可以使真实角色的操作更加纯粹

2020-06-01 22:15:18 197

原创 设计模式----建造者模式

1.建造者模式介绍:属于创建型模式,它提供创建复杂对象的最佳方法,即在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。用户只需要给出指定复杂对象的类型和内容,建造者模式负责按顺序创建复杂对象,把内部的建造过程和细节隐藏起来。1.1优点:产品的建造和表示分离,实现了解耦。使用建造者模式使客户不必知道产品内部的细节组成,就可以获取到相应的对象。使得创建的过程更加的清晰,具体的建造类直接是独立的,这有利于系统的扩展。增加新的具体建造者无需修改原有类库的代码,符合“开闭原则”。1.2

2020-06-01 17:04:42 111

原创 设计模式----抽象工厂模式

1.抽象工厂介绍抽象工厂模式提供了一个创建一系列相关或者相互依赖对象的接口,无需指定他们具体的类。围绕一个超级工厂创建其他工厂,该超级工厂又称为工厂的工厂。客户端(应用层)不依赖于产品类实例如何被创建,实现等细节。比如手机,无需关心如何创建,很多厂商都可以做厂商。强调一系列的产品对象(属于同一产品族)一起使用创建对象需要大量的重复代码。提供一个产品类的库,所有的产品以同样的接口出现,从而使得客户端不依赖于具体的实现。优点:具体产品在应用层的代码隔离,无需关心创建的细节。将一个系列的产品统一到一起

2020-06-01 14:18:02 120

原创 设计模式----工厂模式

1.设计模式简介 GoF23(23种设计模式)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路,它不是语法规定,而是用来提高代码的可复用性,可维护性,可读性稳健性以及安全性的解决方案。设计模式的本质是面向对象设计原则的实际运用。是对类的封装,继承,多态以及类的关联关系和组合关系的充分理解。可以提高程序员的思维能力,编程能力里和设计能力,使程序设计更加标准化,代码编制更加工程化,提升效率,缩短开发周期。使开发的产品安全性更高,可维护性更强,可用性更高,重点是理解思想与应用场景。2....

2020-06-01 00:06:05 127

原创 01背包问题

/** * 01背包问题 * 描述:有一堆物品(每件一个),有各自的重量w与价格v。有个一个背包能装一定重量 * 问:这个背包装物品的最大价格 * @author 易赞 * 2019.10.13 */public class Test { private static final int KANPSACK_WEIGHT = 20;//背包重量 private static fi...

2019-10-13 19:57:37 86

原创 Java算法--逢质数出圈问题

import java.util.HashMap;import java.util.Map;/** * 转圈问题 * 描述:n个人围成一个圈。从第一个人开始数数,1,2,3...当数到第一个大于n的质数的时候。 * 此人将跳出数数,不再参与接下来的数数。一直数在最后一个人,求最后一个出圈人是第几个人。 * @author clay,吴浩宇 * 2019.10.12 */publ...

2019-10-13 19:49:48 153

原创 Spring学习(二)------Bean的实例化与作用域

Bean的三种实例化在面向对象的程序中,想要使用某个对象,就需要先实例化这个对象。同样,在Spring中,要想使用容器中Bean,也需要实例化Bean。实例化Bean有三种方式,分别是构造器实例化,静态工厂实例化,和实例工厂实例化,其中最常用的就是构造器实例化。XML元素的配置XML配置文件的根元素是,此中包含多个子。每一个子元素定义一个bean,并描述该Bean如何被装配到spring容器...

2019-08-12 10:31:21 237

空空如也

空空如也

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

TA关注的人

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