自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java设计模式之工厂模式

工厂模式工厂模式概念工厂模式(Factory Pattern)是最常见的设计模式,该模式设属于创建型模式,它提供了一种简单、快速、高效而安全地创建对象的方式。工厂模式在接口中定义了创建对象的方法,而将具体的创建对象的过程在子类中实现,用户只需通过接口创建需要的对象即可,不用关注对象的具体创建过程。同时,不同的子类可根据需求灵活实现创建对象的不同方法。通俗地讲,工厂模式的本质就是用工厂方法代替new操作创建一种实例化对象的方式,以提供一种方便地创建有同种类型接口的产品的复杂对象。Class class

2020-05-19 09:25:42 157

原创 java设计模式(一)

java设计模式设计模式(Design Pattern)是经过高度抽象化的在编程中可以被反复使用的代码设计经验的总结。设计模式7原则单一职责原则单一职责原则又称单一功能原则,它规定一个类只有一个职责。如果有多个职责(功能)被设计在一个类中,这个类就违反了单一职责原则。开闭原则开闭原则规定软件中的对象(类、模块、函数等)对扩展开放,对修改封闭,这意味着一个实体允许在不改变其源代码的前提下改变其行为,该特性在产品化的环境下是特别有价值的,在这种环境下,改变源代码需要经过代码审查、单元测试等过程,以

2020-05-19 08:01:03 159

原创 springboot国际化

1.编写国际化文件在resources文件夹下创建i18n的文件夹,并在i18n文件下创建国际化文件。index.propertiesindex.btn=登录index.password=密码index.remember=记住我index.tip=请登录index.username=用户名index_en_US.propertiesindex.btn=sign inindex...

2019-08-18 09:02:54 136

原创 sprigboot整合Mybatis

步骤:1.配置数据源spring: datasource: username: root password: 151630 url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=...

2019-08-17 21:36:15 146

原创 springboot整合Druid数据源

步骤:1.导入Druid依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.19</version> <...

2019-08-17 20:51:43 125

原创 springboot整合SpringData JPA

整合步骤1.编写一个实体类(bean)和数据表进行映射,并且配置好映射关系;//这个要加,不然会报错@JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"})//告诉这是一个实体类(和数据表映射的类)@Entity@Table(name = "tbl_user")public c...

2019-08-17 20:22:05 103

原创 mybatis学习(注解开发)

使用 Mybatis 注解实现基本 CRUD实体类//用户实体类public class User implements Serializable { private Integer id; private String username; private String address; private Date birthday; privat...

2019-08-08 21:04:45 210

原创 Mybatis学习(延迟加载)

延迟加载延迟加载:就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载.好处:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。坏处:因为只有当需要用到数据时,才会进行数据库查询,这样在大批量数据查询时,因为查询工作也要消耗时间,所以可能造成用户等待时间变长,造成用户体验下降。需求:查询账户(Acco...

2019-08-08 20:38:20 153

原创 mybatis学习(缓存)

mybatis缓存一级缓存1.首先让我们来证明一级缓存的存在。代码:用户持久层daopublic interface UserMapper { User findById(Integer id); void updateUser(User user);}//映射配置UserMapper.xml<mapper namespace="zlb.dao...

2019-08-08 20:37:44 220

原创 mybatis学习(多表查询)

一对多查询一个账户只能被一个用户所有,一个用户有多个账户,1.数据库表//用户表CREATE TABLE `user` ( `id` int(11) NOT NULL auto_increment, `username` varchar(32) NOT NULL COMMENT '用户名称', `birthday` datetime default NULL COMMENT ...

2019-08-06 22:13:52 168

原创 mybatis学习(动态Sql)

动态 SQLif标签//实体类public class User implements Serializable { private Integer id; private String username; private Date birthday; private String sex; private String address; ...

2019-08-06 22:13:35 84

原创 mybatis学习(CRUD)

mybatis的增删改查依赖 <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <vers...

2019-08-04 22:17:49 88

原创 Mybatis学习(一)

1.新建一个maven项目,导入依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</vers...

2019-08-02 22:28:42 74

原创 springMVC学习(三)

SSM整合搭建整合环境1. 整合说明:SSM整合可以使用多种方式,我们选择XML + 注解的方式,较为简单2. 整合的思路先搭建整合的环境先把Spring的配置搭建完成再使用Spring整合SpringMVC框架最后使用Spring整合MyBatis框架3. 创建数据库和表结构create database ssm; use ssm; create table ...

2019-07-31 22:14:31 103

原创 springmvc学习(二)

响应数据和结果视图1. 返回值分类返回字符串@RequestMapping(path ="/testString") public String testString(Model model){ System.out.println("方法执行了"); // 模拟从数据库中查询的数据 User user=new User(); ...

2019-07-30 21:47:22 90

原创 SpringMVC 的请求响应流程

DispatcherServlet:前端控制器用户请求到达前端控制器,它就相当于 mvc 模式中的 c,dispatcherServlet 是整个流程控制的中心,由它调用其它组件处理用户的请求,dispatcherServlet 的存在降低了组件之间的耦合性。HandlerMapping:处理器映射器HandlerMapping 负责根据用户请求找到 Handler 即处理器,Spr...

2019-07-28 22:12:48 280

原创 解决IDEA控制台Tomcat9日志输出乱码问题

找到Tomcat的安装目录,进入conf目录打开logging.properties删除 java.util.logging.ConsoleHandler.encoding = UTF-8,保存。

2019-07-28 21:50:20 690

原创 SpringMvc学习(入门)

1.新建maven项目2.加入以下键值对,加快maven项目构建速度3.相关依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.1.8...

2019-07-28 21:45:42 169

原创 报错:org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'cacheManager' ava

报错:org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘cacheManager’ avaorg.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'cacheManager' avail...

2019-07-28 19:52:55 506

原创 spring学习巩固

Spring IOC(xml)//依赖 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> ...

2019-07-27 22:12:13 115

原创 spring学习(四)

Spring 中的 JdbcTemplateJdbcTemplate:它是 spring 框架中提供的一个对象,是对原始 Jdbc API 对象的简单封装。JdbcTemplate类的源码public JdbcTemplate() {}public JdbcTemplate(DataSource dataSource) {setDataSource(dataSource);after...

2019-07-26 22:08:00 123

原创 spring学习(三)

AOPAop作用:它就是把我们程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上,对我们的已有方法进行增强。能帮我们减少重复代码,提高开发效率,而且维护更方便。AOP 的实现方式:使用动态代理技术在上一篇博客做的增删改查例子中,客户的业务层实现类中存在一个问题。public class AccountServiceImpl implements...

2019-07-25 22:39:10 79

原创 spring学习(二)

使用 spring 的 IoC 的实现账户的CRUD(增删改查)技术要求:使用 spring 的 IoC 实现对象的管理使用 DBAssit 作为持久层解决方案使用 c3p0 数据源第一步:导入相应依赖<dependencies> <dependency> <groupId>org.springframew...

2019-07-24 22:35:46 91

原创 spring学习(一)

Spring概述Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架。其核心为:IoC(Inverse Of Control:反转控制)AOP(Aspect Oriented Programming:面向切面编程)。IOCIOC(控制反转):把创建对象的权利交给spring框架,它包括依赖注入(DI)和依赖查找。IOC中的工厂类:BeanFa...

2019-07-23 22:16:25 227

原创 java学习(反射)

反射反射:框架设计的灵魂框架:半成品软件。可以在框架的基础上进行软件开发,简化编码。反射:将类的各个组成部分封装为其他对象,这就是反射机制。好处:1.在程序运行期间,可以操作这些对象。2.可以解耦,提高程序的可扩展性。//创建Personl类public class Person { private String name; private Integer ...

2019-07-22 10:46:49 78

原创 java(方法引用)

//定义一个函数式接口@FunctionalInterfacepublic interface Printable { void print (String s);}public class DemoPrintable { //定义一个方法,参数为函数式接口 public static void print(Printable printable){ ...

2019-07-22 10:22:10 93

原创 java学习(Stream流)

Stream流获取Steam流:所有Collection集合都可以通过stream默认方法获取流Stream接口的静态方法of可以获取数组相对应的流。 //List集合转换为流 List<String> list=new ArrayList<>(); Stream<String> stream1= list.strea...

2019-07-21 22:40:30 148

原创 java学习(常用函数式接口)

Supplier函数式接口java.util.function.Supplier接口包含一个无参的方法,T get()。用来获取一个泛型参数指定类型的对象数据。Supplier接口被称之为生产型接口,指定接口的泛型是什么类型,那么接口中的get方法就会产生什么类型的数据。import java.util.function.Supplier;public class DemoS...

2019-07-21 22:39:54 285

原创 java学习(函数式接口)

函数式接口**函数式接口:**即适用于函数式编程场景的接口, 而java中的函数式编程提现就是lambda,所以函数式接口就是适用于Lambda使用的接口。函数式接口 有且只有一个抽象返回的接口,可以包含其他方法。格式:public interface 接口名称{public abstract 返回值类型 方法名称(可选参数信息)//其他非抽象方法内容}@FunctionalIn...

2019-07-21 22:39:26 83

原创 java学习(缓冲流)

1.字节缓冲输出流BufferedOutputStream构造方法BufferedOutputStream(OutputStream out)创建一个新的缓冲输出流,以将数据写入指定的底层输出流。public BufferedOutputStream(OutputStream out,int size)创建一个新的缓冲输出流,以将具有指定缓冲区大小的数据写入指定的底层输出流。packa...

2019-07-20 22:10:26 133

原创 java学习(网络编程)

TCP通信TCP通信的客户端:向服务器发送连接请求,给服务端发送数据,读取服务器写会的数据。表示客户端的类:Socket:此类实现客户端套接字。套接字是两台机器间通信的端点套接字:包含了IP地址和端口号的网络单位构造方法:Socket(String host,int port)参数:host:服务器主机的名/服务器的ip地址port:服务器的端口号成员方法:Out...

2019-07-20 21:52:55 95

原创 java学习(Propertise集合)

Properties(集合)Properties extends Hashtable(k,v) implements Map<k,v>Properties:类表示了一个持久的属性集,Properties可保存在流中或从流中取出。是一个唯一和io流相含的集合。可以使用Properties中的方法store,把集合中的临时数据,持久化写入到硬盘中存储。可以使用Properti...

2019-07-20 21:52:27 211

原创 java学习(字符流Reader&Writer)

Reaeder(字符输入流)Reader:字符输入流,是字符输入流的最顶层的父类,定义了一些共性的的成员方法,是一个抽象类。共性的成员方法:int read()读取单个字节int read(char [] cbuf)一次读取多个字符,将字符读入数组。void close();关闭流并释放资源。**FileReader:**文件字符输入流,继承了OutputStreamR...

2019-07-20 21:07:10 176

原创 java学习(处理流中的异常)

流中的异常的处理jdk7的新特性:在try后面增加一个(),在括号可以定义流对象,那么这个流对象的作用域就在try中有效try中的代码执行完毕,会自动把流对象释放,不要写finally格式:try(定义流对象,定义流对象…){可能会产生异常的代码}catch(异常类变量名 变量名){异常的逻辑代码}try(FileInputStream fis=new FileInput...

2019-07-19 22:13:53 251

原创 java学习(递归)

递归练习:1.求1-n的和。public class DiGui { public static void main(String[] args) { int sum=sum(100); System.out.println(sum); } public static int sum(int n){ if (n==1)...

2019-07-19 19:26:44 313

转载 java学习(file类)

1.基本概念File:文件和目录路径名的抽象表示形式,代表文件或者文件夹。2.构造方法 // 根据parent抽象路径名和child路径名字符串创建一个新File实例 File(File parent, String child) // 通过将给定路径名字符串转换为抽象路径名来创建一个新File实例 File(String pathname) // 根据parent路...

2019-07-19 19:03:42 108

原创 java学习(OutputStream和InputStream)

OutPutStream类**OutPutStream:**字节输出流此抽象类是表示输出字节流的所有类的超类。其中定义了一些子类共性的成员方法:public void close()关闭此输出流并释放与此流有关的所有系统资源。public void flush()刷新此输出流并强制写出所有缓冲的输出字节。public void write(byte[] b)将 b.length...

2019-07-19 19:00:22 230

转载 java学习(Lambda)

Lambda语法特性可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。可选的大括号:如果主体包含了一个语句,就不需要使用大括号。可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值。以上就是Lambda的语法,比较简单。针对Lambda语法,我们能够替代使用的都是函数...

2019-07-18 22:36:28 433

转载 java学习(同步线程)

方法一:使用synchronized关键字 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时, 内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态。注: synchronized关键字也可以修饰静态方法,此时如果调用该静态方法,将会锁住整个类。 注:同步是一种高开销的操作,因此应该尽量减少同步的内容。通常没有必要同步整个方法,使用synchronized代码块同...

2019-07-18 18:14:11 180

原创 java学习(等待唤醒)

等待唤醒机制线程之间的通信:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。通过一定的手段使各个线程能有效的利用资源。而这种手段即—— 等待唤醒机制。等待唤醒机制所涉及到的方法:1、wait() :等待,将正在执行的线程释放其执行资格 和 执行权,并存储到线程池中。2、notify():唤醒,唤醒线程池中被wait()的线程,一次唤醒一个,而且是任意的。3、notifyA...

2019-07-18 17:59:22 389

空空如也

空空如也

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

TA关注的人

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