java
文章平均质量分 73
Clay小丑
这个人很懒,什么都没留下
展开
-
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 · 162 阅读 · 0 评论 -
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 阅读 · 0 评论 -
SpringMVC笔记四:RestFul风格
RestFul风格1. 概念RestFul就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更加简介,更有层次,更易于实现缓存等机制,以及更加安全。2. 功能资源:互联网中所有的事物都可以被抽象为资源,可以通过url统一资源定位符访问。资源操作:使用POST,GET,PUT,DELETE等不同的方法对资源进行操作。传统的操作资源方式:通过不同的参数来实现不同的效果。方法单一,即post和get例如:http://localhost/us原创 2020-08-21 04:12:44 · 154 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 580 阅读 · 0 评论 -
SpringMVC笔记一:SpringMVC简介
SpringMVC简介1. 关于MVC架构MVC是模型(Model),视图(View),控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑,数据,显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑之间的双向耦合。MVC不是一种设计模式,而是一种架构模式。Model:数据模型,提供要展示的数据,因此包含数据和行为,一般模型要分为Service业务层,和Dao数据持久层。也就是模型提供了模型数据查询和模型数据状态更新的功能,包括数据和业务。View,负责进行模型的展示,原创 2020-08-20 23:54:16 · 94 阅读 · 0 评论 -
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 · 99 阅读 · 0 评论 -
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 · 207 阅读 · 0 评论 -
Spring入门学习十一:声明式事务
声明式事务1. 什么是事务把一组业务当成一个业务来执行,要么都成功,要么都失败,如果执行到一半遇到失败,那么事务将会回滚事务及其重要,不容马虎,设计到数据一致性问题。确保数据的完整性跟一致性事务的的ACID原则原子性一致性隔离性:多个业务可能操作同一个资源,防止数据损坏。持久性:事务一旦提交,无论系统发生什么问题,结果都不会被影响,被持久化的写到存储器中。2. spring的事务管理声明式事务:AOP。编程式事务:3. 代码编写3.1 实体类package com原创 2020-08-15 23:52:32 · 63 阅读 · 0 评论 -
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 · 133 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Spring入门学习八:动态代理模式
动态代理模式动态代理模式不再像静态代理模式那样,为没一个真实对象去增加一个代理类,而是利用java反射去动态生成一个代理类。动态代理跟静态代理角色是一样的。动态代理分为两大类基于接口的动态代理—jdk动态代理【本博客以jdk动态代理为例】基于类的动态代理—cglib动态代理ProxyProxy提供了创建动态代理类的静态方法public static Object newProxyInstance( ClassLoader loader,//类加载器 来定义这个返回的代理类的类型原创 2020-08-13 20:42:37 · 119 阅读 · 0 评论 -
Spring入门学习七:静态代理模式
静态代理模式SpringAOP的底层就是代理模式,代理模式是必须要精通的。代理模式分为:静态代理动态代理jdk动态代理cglib动态代理这一节主要讲静态代理。租房子关于代理模式,我们可以举一个简单的例子。在我们现实生活中,去租房子,一般是无法找到房东的,而房东也很难联系到需要租房子的人,所以出现了这么一个角色,房屋中介(代理)。房东讲房子交给中介,我们直接从中介手里租房子,在我们眼里,中介就等同于房东了,我们的需求直接通过中介就可以实现。而中介跟房东都有一个共同的行为,就是出租房原创 2020-08-10 01:58:20 · 113 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Spring入门学习一: Spring简介
Spring简介Spring:春天,即软件行业的春天。Spring是由于软件开发的复杂性而创建的。在2002年的时候首次推出了Spring的雏形,interface21。在2004年正式发布了Spring1.0。有意思的是,这个东西的作者Rod Johnson是悉尼大学的音乐学博士,不是学计算机的目的解决企业开发的复杂性功能Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架。理念简单的说就是让开发变得更加简单,本身就是一个大杂烩,什么乱七八糟的东西都支持,整合了现有的技原创 2020-08-08 14:33:44 · 93 阅读 · 0 评论 -
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 · 75 阅读 · 0 评论 -
Mybatis入门学习十一:多对一与一对多的处理
多对一与一对多多对一与多对一这种东西举几个例子就明白了,就是数学里面的集合。多个学生对一个老师,对学生这边而言,多个学生关联一个老师,对于老师而言,一个老师教很多学生。多首歌曲对一个专辑。在数据库中就是主键外键的关系,在java代码中,就是声明别的实体类作为当前实体类的一个属性的关系多人运动?废话不多说,淦就完了:准备数据库准备工作,在Mybatis(自己重新建一个也可以,到时候修改一些Mybatis的配置文件就行)数据库中,建立如下两个表,建立步骤不要一次性执行,由黄色分割线一步一步原创 2020-08-05 00:55:52 · 87 阅读 · 0 评论 -
Mybatis入门学习十:并没有什么太大用处的Lombok
Lombok这一章其实跟Mybatis并没有什么太多关系,硬要说的话,也只是这东西简化了Mybatis中实体类的开发。写在这里只不过相当于题外话,介绍一下这个我个人写项目的时候还在用的东西。Lombok项目是一个Java库,它会自动插入编辑器和构建工具中Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类不用编写域访问器构造器Lombok安装第一步:去官网下载lombok安装包第二步:将l原创 2020-08-04 22:24:08 · 99 阅读 · 0 评论 -
Mybatis入门学习九:Mybatis注解开发增删改查功能
Mybatis注解开发大部分框架都是一般都是使用的注解开发,Mybatis除外,Mybatis一般使用XML开发,但是作为一个提升开发效率,减少代码量的一个东西,仍然需要了解,就好比我当初刚学的时候,写了很多的小型管理系统,全部用的注解开发,因为这种东西,不需要二次开发,后期维护什么什么的,没有那么多考虑,淦就完了。关于面向接口编程我们一般说java是全面向对象语言,我们也是面向对象开发程序员,但是在实际的开发中,大部门企业都会选择面向接口编程。它的根本原因就是在于,解耦,提高代码的复用性,然后一大部原创 2020-08-04 17:46:03 · 195 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Mybatis入门学习七:日志
日志日志工厂如果一个数据库操作出现了异常,我们需要排错,日志可以帮助我们进行排错检查,即将程序执行的sql在控制台或者别的地方打印。Mybatis 通过使用内置的日志工厂提供日志功能。内置日志工厂将会把日志工作委托给下面的实现之一:SLF4JApache Commons LoggingLog4j 2Log4jJDK loggingSTDOUT_LOGGING我们可以在Mybatis的配置文件中通过setting中设置,类似用法: <!-- 配置日志,非要要注意大小写跟空格原创 2020-08-03 18:24:50 · 316 阅读 · 0 评论 -
Mybatis入门学习六:作用域(scope),生命周期,结果映射
作用域(scope)和生命周期作用域和生命周期类别是至关重要的,因为错误的使用会导致非常严重的并发问题。即只有在并发的情况在才会出现问题。Mybatis执行流程SqlSessionFactoryBuilder这个类可以被实例化、使用和丢弃,一旦创建了 SqlSessionFactory,就不再需要它了局部变量SqlSessionFactory跟数据库连接池类似。SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由丢弃它或重新创建另一个实例,它会一原创 2020-08-02 23:57:17 · 215 阅读 · 0 评论 -
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 · 399 阅读 · 0 评论 -
Java反射----简单的聊聊java反射
1.什么是动态语言跟静态语言要准确理解反射的概念,首先需要知道什么是动态语言与静态语言。动态语言:在运行的时候,可以改变程序自身结构,比如C#,JavaScript,python,比如改变变量类型,删除函数,引进一些代码。静态语言:c,Java,C++,运行时结构不可改变。Java可以通过反射变成准动态语言,让编程更加灵活。2.关于ClassJava反射Reflection允许java程序在执行期间借助于ReflectionAPI获取任何类的内部信息,并能够直接操作内部属性及方法。在JVM中,加原创 2020-06-02 16:29:33 · 141 阅读 · 0 评论 -
设计模式----代理模式
什么是代理模式:代理模式的逻辑其实理解起来很简单,就是好比我们租房子,我们面向的中介就是一个代理对象,我们直接与中介沟通,中介与真正的房东沟通,在我们眼里,中介就好比房东一样。中介与房东有公共的行为约束接口。代理模式是springAOP的底层原理代理模式的分类1.静态代理:抽象角色:一般会使用接口或抽象类来解决,代理对象与被代理对象的公共动作。真实角色:被代理的角色代理角色:代理真实角色,代理真实角色之后,我们一般会做一些附属操作。代理模式的好处:可以使真实角色的操作更加纯粹原创 2020-06-01 22:15:18 · 197 阅读 · 0 评论 -
设计模式----建造者模式
1.建造者模式介绍:属于创建型模式,它提供创建复杂对象的最佳方法,即在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。用户只需要给出指定复杂对象的类型和内容,建造者模式负责按顺序创建复杂对象,把内部的建造过程和细节隐藏起来。1.1优点:产品的建造和表示分离,实现了解耦。使用建造者模式使客户不必知道产品内部的细节组成,就可以获取到相应的对象。使得创建的过程更加的清晰,具体的建造类直接是独立的,这有利于系统的扩展。增加新的具体建造者无需修改原有类库的代码,符合“开闭原则”。1.2原创 2020-06-01 17:04:42 · 109 阅读 · 0 评论 -
设计模式----抽象工厂模式
1.抽象工厂介绍抽象工厂模式提供了一个创建一系列相关或者相互依赖对象的接口,无需指定他们具体的类。围绕一个超级工厂创建其他工厂,该超级工厂又称为工厂的工厂。客户端(应用层)不依赖于产品类实例如何被创建,实现等细节。比如手机,无需关心如何创建,很多厂商都可以做厂商。强调一系列的产品对象(属于同一产品族)一起使用创建对象需要大量的重复代码。提供一个产品类的库,所有的产品以同样的接口出现,从而使得客户端不依赖于具体的实现。优点:具体产品在应用层的代码隔离,无需关心创建的细节。将一个系列的产品统一到一起原创 2020-06-01 14:18:02 · 120 阅读 · 0 评论 -
设计模式----工厂模式
1.设计模式简介 GoF23(23种设计模式)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路,它不是语法规定,而是用来提高代码的可复用性,可维护性,可读性稳健性以及安全性的解决方案。设计模式的本质是面向对象设计原则的实际运用。是对类的封装,继承,多态以及类的关联关系和组合关系的充分理解。可以提高程序员的思维能力,编程能力里和设计能力,使程序设计更加标准化,代码编制更加工程化,提升效率,缩短开发周期。使开发的产品安全性更高,可维护性更强,可用性更高,重点是理解思想与应用场景。2....原创 2020-06-01 00:06:05 · 127 阅读 · 0 评论 -
Java集合简介
集合简介Java集合框架为程序员提供了预先包装的数据结构和算法来操纵他们,集合是一个对象,可容纳其他对象的引用,和接口声明对每一种类型的结合可以执行的操作,结合框架的类和接口均在util包中,任何对象加入集合类后,自动转变为Object类型,所以在取出对象的时候,需要进行强制类型转换。Java集合框架主要包括两种类型,一种是集合Collection存储一个元素的集合,里面没有键只有一对值。还有...原创 2019-08-12 09:34:36 · 84 阅读 · 0 评论 -
Java多线程小程序(输出每个线程的毫秒级时间)
时间类,获取系统的毫秒级时间public class StupidTime { private int YY; private int MM; private int DD; private int HH; private int mm; private int SS; private int MI; public StupidTime(Calendar Cld ) {...原创 2019-08-10 13:44:40 · 539 阅读 · 0 评论