自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GXlbj23的博客

Java学习

  • 博客(61)
  • 收藏
  • 关注

转载 Springboot(二)——SpringBootApplication注解

1.分析@SpringBootApplication注解项目启动,生成项目的一个jar包@SpringBootApplicationpublic class Demo1Application { public static void main(String[] args) { SpringApplication.run(Demo1Application.class, args); }}注解:@SpringBootApplication标有这个注解的类代表的是

2020-08-29 11:36:27 689

原创 Springboot的入门程序

Springboot入门之前学的Spring可以解决企业级应用开发的复杂性,简化开发的过程Spring简化Java开发基于POJO的轻量级和最小侵入性编程,所有东西都是bean;通过IOC,依赖注入(DI)和面向接口实现松耦合;基于切面(AOP)和惯例进行声明式编程;通过切面和模版减少样式代码,RedisTemplate,xxxTemplate;1.1 介绍SpringbootSpring Boot 基于 Spring 开发,Spirng Boot 本身并不提供 Spring 框架的

2020-08-25 06:23:20 170

原创 Mybatis(五)动态SQL语句

Mybaits动态SQL语句在Mybaits的映射文件中,当业务逻辑复杂的时候,SQL语句是动态变化的,这个时候可以使用动态SQL来操作我们定义一个实体类Blogpublic class Blog { private String id; private String title; private String author; // <setting name="mapUnderscoreToCamelCase" value="true"/> //开

2020-06-29 22:25:38 279

原创 MyBatis(四)resultMap结果集映射

Mybatis的resultMap结果集映射一、解决问题解决数据库中字段名和属性名不一致的情况比如说:public class User { private Integer id; private String name; private String password;}<select id="selectUserById" resultMap="User"> select id , name , pwd from user where id = #{

2020-06-29 00:40:38 311

原创 MyBatis(三)实现CRUD操作以及模糊查询中#{}和${}的用法

文章目录一、Mybaits1. 基于代理Dao实现CRUD操作1.1 在持久层接口中添加CRUD方法1.2 在用户的映射配置文件中配置1.3 mybatis的配置文件1.4 测试CRUD操作扩展:获取增加用户id的返回值二、#{}和${}的区别2.1 正常查询2.2 模糊查询三、Mybatis 与 JDBC 编程的比较一、Mybaits1. 基于代理Dao实现CRUD操作1.1 在持久层接口中添加CRUD方法接口UserMapperpublic interface AccountMapper {

2020-06-17 22:39:28 530

原创 MyBatis(二) mybatis配置文件分析

文章目录一、生命周期1.1 SqlSessionFactoryBuilder1.2 SqlSessionFactory1.3 SqlSession二、mybatis配置文件2.1 属性(properties)2.2 设置(settings)2.3 类型别名(typeAliases)2.4 environments元素2.5 mappers(映射器)2.6 mapper文件一、生命周期上一篇写了几个创建sqlSession对象需要构建出其他的一些对象。对这些对象有一些简单的认识。1.1 SqlSessi

2020-06-16 23:26:47 218

原创 MyBatis(一) 第一个mybatis程序

一、Mybatis1.1 Mybatis框架介绍Mybatis是一款优秀的持久层框架,避免了大多JDBC代码以及手动设置参数并获取执行结果集的过程Mybatis可以使用xml或注解的配置。将接口和Java的实体类映射为数据库的数据Mybatis是一个半自动的**ORM(对象关系映射)**框架优点:解除sql语句与程序的耦合提供了xml标签,可以支持动态sql1.2 持久层和持久化持久化就是将程序中的数据在持久状态和瞬时状态间转换的机制。也可以理解为数据保存到了可以永久保存的存储设备

2020-06-15 23:14:44 240

原创 spring(五)spring的AOP使用

一、Spring中的AOPspring中的aop,可以通过配置的方法,实现动态代理的功能。相应的动态代理以及静态代理实现在上一篇博客已经详细的写了出来什么是AOPAOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性

2020-06-10 16:16:17 308

原创 spring(四)AOP前言——动态代理和静态代理

springAOP的底层就是动态代理,在学习AOP之前还是需要将动态代理和静态代理进行一定的学习代理模式:静态代理动态代理静态代理可以通过创建或工具生成代理类的源码,再编译代理类,即代理类和委托类的关系再程序运行前就已经存在静态代理的好处1.可以使得真实角色更加纯粹 . 将一些公共的事情交给代理类2.实现了业务的分工,可以在不改变真实角色的情况下增加额外的操作3.公共业务发生扩展时变得更加集中和方便 .缺点1.类多了 , 多了代理类 , 工作量变大了 . 开发效率降低静态代理,在

2020-06-10 13:13:13 246

原创 spring(三)基于注解的IOC配置加代码操作

注解的配置和xml配置所达到的目的都是一样的,都是为了降低程序间的耦合。不同的只是配置形式不同。看自己个人喜好哪种配置方法一、注解配置这里按注解的目的进行一定的划分创建对象的注解@Component作用于组件上面,将资源交给spring来管理。属性:value可以指定这个bean的id。对于@Conponent注解,spring做了一些细致的划分。针对于三层架构的设计模式,细分为以下三个注解@Controller 表现层@Service 业务层@Resposity 持久层

2020-06-09 21:11:27 260

原创 spring(二)Bean的作用域及生命周期

一、Bean的作用域在Spring中,那些组成应用程序的主体及由Spring IoC容器所管理的对象,被称之为bean。bean就是由IoC容器初始化、装配及管理的对象 .Spring Framework支持五种作用域(其中有三种只能用在基于web的Spring ApplicationContext)。spring会根据设置Bean的scope属性来选择创建对象的时机1.singleton 单例当一个bean的作用域为singleton, 那么Spring IoC容器中只会存在一个共享的bean实

2020-06-09 20:29:57 290

原创 spring(一)控制反转和依赖注入

文章目录一、spring1.1 SpringIO的概念1.2 Spring IOC理论推导1.3 spring框架的入门1.3 spring配置解释1.3.1 ApplicationContext的三个常用类对象1.3.2 ApplicationContext和BeanFactory的区别1.4 IOC 中 bean 标签1.4.1 bean 标签1.4.2 创建bean的三种方式1.4.3 bean的作用范围和生命周期二、Spring的依赖注入2.1 构造函数注入2.2 set方法注入2.3 使用p标签进

2020-06-09 19:57:16 734

转载 HTML扩展知识——Emmet语法速查——转载

一、Emmet语法Emmet是一款文本编辑器/IDE的插件,用来快速生成复杂的HTML代码,掌握一些常用的语法(类似于CSS选择器),可以减少重复编码的工作。1.调用方法Emmet使用Tab作为自动生成HTML代码的触发器。输入完生成HTML的缩写语句后,按下Tab,即可生成对应的HTML代码2.相关语法后代:>Child: >缩写:div>ul>...

2020-06-07 23:42:55 259

原创 JavaWeb——实现邮件发送

文章目录一、邮件的发送1.1电子邮件1.2基本组成部分1.3传输协议SMTP协议:发送邮件POP3协议:接受邮件1.4邮件发送二、Java实现发送邮件获取QQ邮箱的授权码2.1 代码实现简单的邮件Maven导入依赖测试类编写2.2 代码实现添加图片的邮件2.3 添加附件三、JavaWeb实现邮箱发送1. 前端页面2. 实体类3.编写邮件发送的工具类4. MailServlet类5.配置响应的Servlet(web.xml)一、邮件的发送1.1电子邮件电子邮件是因特网上使用得非常多的一种应用,它可以非常

2020-06-07 10:29:40 1072

原创 JavaWeb学习——文件上传并设置一些参数

文件上传文件上传的注意事项:为了保证服务器的安全,上传文件应该放在外界无法直接访问的目录下,比如WEB-INF目录。为了保证文件名不重复,为上传文件使用UUID方法,产生一个唯一的文件名上传文件需要设置上传文件的最大值可以在上传文件中设置文件上传的类型文件上传的大小限制可以在SpringMVC框架的拦截器中设置拦截器限制文件上传大小文件上传的Servlet:public class FileServlet extends HttpServlet { protected void

2020-06-06 13:26:42 724

原创 SpringMVC(四)—— 文件上传和下载

一、文件上传1.1 文件上传​ 在 Web 开发中,使用应用层协议 HTTP,通过在请求头中设置传输的内容类型 Content-Type 为 multipart/form-data; boundary=流分隔符值 来上传文件,这个流分隔符用来区分一个文件上传的开始和结束。<%-- 文件上传 表单提交的方式--%><%-- 文件上传的规范:enctype="multipart/form-data" method="post"--%><form enc

2020-06-05 20:28:14 541

原创 SpringMVC(二)——参数注入、数据类型转换、常用的注解、数据校验

一、请求参数的绑定1.1 请求参数的绑定说明(1)表单提交的数据格式都是key=value的格式的,比如username=haha&password=123。springMVC的参数绑定过程就是将表单提交的请求参数,自动映射为控制器方法的参数。要求的是:保证表单提价的name属性和方法的参数名称相同(2)支持基本数据类型、引用数据类型。实体类型(JavaBean)或者还可以是集合数据类型(List、Set、Map集合)1.2 注意事项:基本数据类型和字符串类型的时候,要求表单的name

2020-06-05 19:01:37 743

原创 MyBatis多表查询-代码示例

Student.Mapper <!--按照查询嵌套处理--> <resultMap id="resultMap1" type="student"> <!--teacher对象--> <association property="teacher" column="tid" javaType="teacher" select="getTeacher"/>

2020-06-05 17:40:06 206

原创 mybatis多表连查存在字段重名,造成数据异常

问题描述:多表查询出现字段重名的情况,在使用懒加载的模式,测试类中直接调用其中的一个字段,显示为null。Mybatis中做多表联查的时候,不管是一对一、一对多、一对多对多:多对多:都不能有字段重名的情况:不管是主键还是普通字段。一旦字段重名的话,就会造成数据少自动赋值,或者覆盖,甚至重复赋值!解决方法:1.尽量不要表间重名,mybatis里处理起来很麻烦!id和普通字段都是。但是在表多的时候,很难不会出现字段重名的情况。主键id最容易重名!2.在mybatis中写原生SQL进行查询的时候,查的字段

2020-05-25 13:53:30 2810 1

原创 springMVC(三)——返回值的应用场景以及后台响应json数据

文章目录一、springMVC返回值分类1.1 返回值为String字符串1.1.1 返回值为string,方法中存在请求转发1.1.2 返回值为string,方法中存在重定向1.1.3 另一种返回方式1.2 返回值为ModelAndView1.2.1 正常的返回1.2.1 方法中存在重定向或者请求转发1.3 返回值为void二、响应json数据一、springMVC返回值分类1.1 返回值为String字符串返回值为string的话,字符串的内容表示视图的名称,默认情况下时转发请求(视图解析器)

2020-05-23 12:18:05 434

原创 Mapped Statements collection does not contain value for (命名空间+id)

我的异常信息:Error updating database. Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.gx.mapper.AccountMapper.update### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not con

2020-05-21 15:04:21 386

原创 SpringMVC学习记录(一)

一、三层架构和MVC1.1 三层架构一般来说开发服务端程序,一般都是两种形式,一种C/S架构,另一种就是B/S架构我们使用Java语言基本上都是开发B/S架构的程序。B/S架构又分为了标准的三层架构:表现层、业务层、持久层。三层架构(1)表现层:也就是WEB层,用来和客户端进行数据交互。一般使用MVC的设计模式(2)业务层:处理一些具体的业务逻辑(3)持久层:用来操作数据库的1.2 MVC模型MVC全名是Model View Controller 模型视图控制器,每个部分各司其职。在

2020-05-17 11:42:25 745

原创 解析 java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)

一、异常发生在使用Spring连接数据库的时候,突然报一个:java.sql.SQLException: Access denied for user ‘’@‘localhost’ (using password: YES),网上查找资料,显示大多数都是用户权限设置的问题,我自己使用的是MySql数据库。综合自己解决问题的过程:总结网上出现这种情况的三种情况第一个:用户名和密码不匹配,或者...

2020-05-07 14:41:23 7447 1

原创 DruidDataSource 常用配置属性列表

DruidDataSource配置属性列表在Spring连接数据库中出现了,构造DruidDataSource属性配置的混淆,所以将DruidDataSource中的一些自认为比较常用的属性列举出来,方便更好的掌握DruidDataSource的使用DruidDataSource配置兼容DBCP,一部分配置的语意有所区别。属性配置缺省值说明nameurl连...

2020-05-07 14:39:41 830

原创 Java学习——JavaWeb基础(六) HTTP协议和Servlet

文章目录一、Servlet1.1 Servlet的快速入门1.2 Servlet的执行原理1.2 Servlet的生命周期1.3 ServletConfig对象1.获取servlet中的初始化参数(可以在web.xml中配置)2.获取ServletContext对象3.获取servlet配置的名称二、创建Servlet的三种方式2.1 实现Servlet接口2.2 继承GenericServlet...

2020-05-07 14:05:55 270

原创 Java学习——JavaWeb(五)(Tomcat和Idea整合)

一、Web应用web应用:使用浏览器进行访问的应用程序,我们可以称作为Web应用,Web应用的特点就是无需额外安装客户端.比如我们经常访问的淘宝,京东,网易等这些都是属于Web应用那么,JavaWeb就是使用Java语言开发的Web应用程序1.1 Web程序(B/S 架构)所谓的B/S架构,就是浏览器跟服务器进行数据交互的方式 数据传输的方式 采用的是HTTP 协议服务器: 硬件服务...

2020-05-07 13:21:26 386

原创 spring控制反转和依赖注入

一、spring1.1 SpringIO的概念名词解释:IOC(Inversion of control):控制反转,是一种设计思想。DI(dependence injection):依赖注入是实现IOC的一种方法。我们之前的编码中,对象的创建与对象间的依赖关系完全硬编码出现在程序总,对象也是由我们自己来创建和控制的。而控制反转的意思就是将创建对象的权利交给“第三方”,也就是我们可以交给...

2020-04-28 15:57:24 283

原创 常用的数据库连接池(DBCP连接池、C3P0、Druid)

文章目录一、数据库连接池二、DBCP连接池2.1 硬编码的格式2.2 properties配置文件格式三、C3P03.1 硬编码的格式3.2 properties配置文件的格式3.3 xml配置文件的格式四、Druid4.1 硬编码的格式4.2 properties配置文件格式五、Jar下载一、数据库连接池连接池:一个容器,里面放有一定数量的连接对象。可以高效的管理连接对象。数据库连接是一种...

2020-04-15 12:35:23 792

原创 JDBC详细介绍和操作数据库

文章目录一、JDBC1.1 JDBC介绍1.2 JDBC的入门使用1.2.1 JDBC开发使用的包1.2.2 JDBC的核心API1.2.3 JDBC的入门1.2.4 执行增删改数据库的代码1.2.5 执行查询数据库的代码1.2.6 预编译操做对象 PreparedStatement二、工具类1.静态代码块2.配置文件:JDBC.properties三、批处理四、事务一、JDBC1....

2020-04-15 11:29:44 362

原创 MySQL数据库知识的总结

文章目录一、数据库1.1 数据库简介1.2 MySQL数据库软件二、SQL:结构化查询语言2.1 SQL的一些通用语法:2.2 DDL:操作数据库和表(create, drop,alter)(1)操作数据库(CRUD):操作数据库的实例(2)操作表(CRUD):操作表的实例2.3 DML:增删改表中的数据(insert, delete, update)实例2.4 DQL:查询表中的数据(selec...

2020-04-14 15:40:15 188

原创 Java学习——JavaWeb基础(四)(JavaScript的BOM、DOM、事件)

文章目录一、BOM1.1 Window对象(窗口对象)1.1.1 与弹出有关的方法1.1.2 与定时器有关的方法1.1.3 与打开关闭有关的方法1.1.4 获取其他对象的属性1.2 Location:地址栏对象1.2.1 浏览器的编码解码问题1.3 History:历史记录对象二、DOM对象2.1 Document:文档对象2.1.1 获取对象的方法2.1.2 创建对象的方法2.1.3 元素对...

2020-03-25 12:10:31 515

原创 Java学习——JavaWeb基础(三)(JavaScript的基本语法、数据类型、变量、函数、JS的内置对象)

一、JavaScript1.1 JavaScript的介绍1.概念:一门客户端脚本语言(1)运行在客户端的浏览器中,每一个浏览器都有自己的JavaScript的解析引擎(2)脚本语言:不需要编译,直接就可以被浏览器解析执行。2.JavaScript的功能:用来增强用户和html页面的交互过程,可以控制html元素,让页面有一些动态效果。JavaScript与CSS、HTML的关系:...

2020-03-24 16:50:56 282

原创 Java学习——JavaWeb基础(二)(CSS)

一、CSS1.1 CSS的概念1.CSS(Cascding Style Sheet)层叠样式表。作用:用来控制HTML标签的展示样式,从而使得标签的样式展示的更加的丰富。可以提高页面的执行效率。2.CSS与HTML配合使用的方式:<!--内联样式:在标签内使用style属性指定css代码--><div style="color: red">CSS</div...

2020-03-24 12:20:34 200

原创 Java学习——JavaWeb基础(一)(HTML)

一、HTML引用HTML思维导图1.1 HTML介绍超文本标记语言(Hyper Text Markup Language),缩写为HTML,标准通用标记语言下的一个应用。HTML不是一种编程语言,而是一种标记语言 (markup language),是网页制作所必备的工具。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言(或超文本标签语言)的结构包括“...

2020-03-05 21:36:23 892 1

原创 Java学习笔记——Java语言基础(二十三)(线程间的通信、线程池、Timer类)

一、线程间的通信当多个线程处理用一个资源时,每个线程的任务却不相同,这时就是线程间的通信问题。为什么要处理线程间通信?多个线程并发执行时, 在默认情况下CPU是随机切换线程的,当我们需要多个线程来共同完成一件任务,并且我们希望他们有规律的执行, 那么多线程之间需要一些协调通信,以此来帮我们达到多线程共同操作一份数据。保证线程间通信有效利用资源——等待唤醒机制多个线程在处理同一个资源,并且...

2020-03-05 15:14:49 285

原创 Java学习笔记——Java语言基础(二十六)(枚举)

一、枚举1.1 枚举的应用定义枚举类要用关键字enum 所有枚举类都是Enum的子类 枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略 枚举类可以有构造器,但必须是private的,它默认的也是private的。枚举项的用法比较特殊:枚举(“”); 枚举类也可以有抽象方法,但是枚举项必须重写该方法 枚举在s...

2020-03-04 13:02:58 200

原创 Java学习笔记——Java语言基础(二十五)(类加载器、反射)

一、类加载器1.1 类的加载概述类的加载概述 当程序要使用某个类时,如果该类还未被加载到内存中, 则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。 加载 就是指将class文件读入内存,并为之创建一个Class对象。 任何类被使用时系统都会建立一个Class对象。 连接 验证 : 是否有正确的内部结构,并和其他类协调一致 准备 : 负责为类的静态成员分配内...

2020-03-04 12:00:00 194

原创 Java学习笔记——Java语言基础(二十二)(线程安全、线程状态、线程间的通信、线程的内存可见性)

一、案例分析1.售票点共有3个窗口,共有100张票,实现Runnable接口实现售票的过程Runnable接口可以做到多个相同的程序代码的线程去共享同一个资源。实现Runnable接口:class Runnableimpl implements Runnable{ private int ticket=100; @Override public void run()...

2020-03-04 10:56:52 202

原创 Java学习笔记——Java语言基础(二十四)(网络编程、Socket通信、UDP、TCP协议下进行计算机的通信)

一、网络编程1.1 软件的结构C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程,就是在一定的协议下,实现两台计算机的通信的程序。1.2 网络模型的概述1.网络...

2020-03-04 10:56:25 308

原创 Java学习笔记——Java语言基础(二十一)(多线程)

一、多线程我们在之前,学习的程序在没有跳转语句的前提下,都是由上至下依次执行,那现在想要设计一个程序,边打游戏边听歌,怎么设计?要解决上述问题,咱们得使用多进程或者多线程来解决.1.1 进程(提供CPU的使用率)线程是依赖于进程存在的,进程就是正在运行的程序,是系统进行资源分配和调用的独立单位。每一个进程都有自己的内存空间和系统资源。单进程计算机只能做一件事情。而我们现在的计算机都可...

2020-03-04 10:55:39 234

空空如也

空空如也

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

TA关注的人

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