03 2021 档案

摘要:线程的生产者消费者 新建一个产品Person package cn.lucky.producer; /** * @author lucky */ public class Person { private String name; private int age; public void push( 阅读全文
posted @ 2021-03-19 19:51 Lucky8991 阅读(45) 评论(0) 推荐(0)
摘要:多线程卖票小案例 卖票 package cn.lucky.Thread; /** * @author lucky */ public class Lucky_ticket_runnable implements Runnable{ private static int num=50; @Overri 阅读全文
posted @ 2021-03-17 19:25 Lucky8991 阅读(163) 评论(0) 推荐(0)
摘要:单例模式懒汉式和饿汉式的区别 ​ 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 注意: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提 阅读全文
posted @ 2021-03-17 13:52 Lucky8991 阅读(67) 评论(0) 推荐(0)
摘要:静态代理 图形化理解 定义租房接口Rent package cn.lucky.Proxy; /** * @author lucky */ public interface Rent { public void rent(); } 定义房东Host接口实现类 package cn.lucky.Prox 阅读全文
posted @ 2021-03-16 19:12 Lucky8991 阅读(58) 评论(0) 推荐(0)
摘要:配置版 1、新建一个Moudle , springmvc-02-hello , 添加web的支持! 2、确定导入了SpringMVC 的依赖! 3、配置web.xml , 注册DispatcherServlet <?xml version="1.0" encoding="UTF-8"?> <web- 阅读全文
posted @ 2021-03-16 15:25 Lucky8991 阅读(56) 评论(0) 推荐(0)
摘要:SpringMVC01(源自狂神) 1、回顾MVC 1.1、什么是MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 是将业务逻辑、数据、显示分离的方法来组织代码。 MVC主要作用是降低了视图与业务逻辑间的双向偶合。 MVC不是一种设计模 阅读全文
posted @ 2021-03-16 14:07 Lucky8991 阅读(84) 评论(0) 推荐(0)
摘要:1、Spring 1.1、简介 Spring : 春天 >给软件行业带来了春天 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。 2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版。 很难想象Rod 阅读全文
posted @ 2021-03-15 16:57 Lucky8991 阅读(71) 评论(0) 推荐(0)
摘要:2、IOC理论推导 UserDao 接口 public interface UserDao { public void getUser(); } UserDaoImpl 实现类 public class UserDaoImpl implements UserDao { @Override publi 阅读全文
posted @ 2021-03-15 16:56 Lucky8991 阅读(67) 评论(0) 推荐(0)
摘要:3、HelloSpring 编写一个Hello实体类 public class Hello { private String str; public String getStr() { return str; } public void setStr(String str) { this.str = 阅读全文
posted @ 2021-03-15 16:55 Lucky8991 阅读(78) 评论(0) 推荐(0)
摘要:4、IOC创建对象的方式 1.通过无参构造方法创建 User.java public class User { private String name; public User() { System.out.println("User无参构造"); } public String getName() 阅读全文
posted @ 2021-03-15 16:54 Lucky8991 阅读(63) 评论(0) 推荐(0)
摘要:5、Spring配置 5.1、别名 <!--添加了别名,也可以用别名取到对象--> <alias name="user" alias="luckyuser"/> 5.2、Bean配置 <!-- id:bean的唯一标识符,相当于对象名 class:bean对象所对应的全限定名:包名+类名 name: 阅读全文
posted @ 2021-03-15 16:53 Lucky8991 阅读(68) 评论(0) 推荐(0)
摘要:6、DI依赖注入 6.1、构造器注入 ​ 前面已经说过了 6.2、Set方式注入【重点】 依赖注入:Set注入 依赖:bean对象的穿件依赖于容器 注入:bean对象中的所有属性,由容器来注入 【环境搭建】 复杂类型 @Data public class Address { private Stri 阅读全文
posted @ 2021-03-15 16:52 Lucky8991 阅读(75) 评论(0) 推荐(0)
摘要:7、Bean的自动装配 自动装配是Spring满足bean依赖的一种方式! Spring会在上下文中自动给bean装配属性! 在Spring中有三种自动装配方式 1. 在xml中显示的配置 2. 在java中显示的配置 3. 隐式 的自动装配bean【重要】 7.1、测试 环境搭建:一个人有俩宠物 阅读全文
posted @ 2021-03-15 16:51 Lucky8991 阅读(82) 评论(0) 推荐(0)
摘要:8、使用注解开发 在Spring4之后,要使用注解开发,必须要保证aop的包导入了 使用注解需要导入context约束,增加注解的支持 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.or 阅读全文
posted @ 2021-03-15 16:50 Lucky8991 阅读(67) 评论(0) 推荐(0)
摘要:9、使用java的方式配置Spring 我们现在要完全不使用Spring的xml配置了,全权交给java来做 javaConfig是Spring的一个子项目,在Spring4之后,它成为了一个核心功能 实体类 @Data @Component public class User { @Value(" 阅读全文
posted @ 2021-03-15 16:49 Lucky8991 阅读(62) 评论(0) 推荐(0)
摘要:10、代理模式 为什么要学习代理模式?【SpringAOP和SpringMVC】 代理模式的分类: 静态代理 动态代理 10.1、静态代理 角色分析: 抽象角色:一般会使用接口或者抽象类来解决 真是角色:被代理的角色 代理角色:代理真是角色,代理真实角色后,我们一般会做一些附属操作 客户:访问代理角 阅读全文
posted @ 2021-03-15 16:48 Lucky8991 阅读(68) 评论(0) 推荐(0)
摘要:11、AOP 11.1、什么是AOP AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利 阅读全文
posted @ 2021-03-15 16:47 Lucky8991 阅读(106) 评论(0) 推荐(0)
摘要:12、整合Mybatis 步骤: 导入相关jar包 junit mybatis mysql数据库 spring相关的 aop织入 mybatis-spring【new】 编写配置文件 测试 12.1、回忆mybatis 编写实体类 编写核心配置文件 编写接口 编写Mapper.xml接口 测试 12 阅读全文
posted @ 2021-03-15 16:46 Lucky8991 阅读(39) 评论(0) 推荐(0)
摘要:13、声明式事务 1、回顾事务 把一组业务当成一个业务来做;要么都成功,要么都失败 事务在项目开发中十分重要,涉及到数据一致性的问题,不能马虎 确保完整性和一致性 事务的ACID原则 原子性 一致性 隔离性 多个业务可能操作同一个资源,防止数据损坏 持久性 事务一旦提交,无论系统发生什么问题,结果都 阅读全文
posted @ 2021-03-15 16:45 Lucky8991 阅读(46) 评论(0) 推荐(0)
摘要:MyBatis01 1、简介 1.1、什么 MyBatis MyBatis 是一款优秀的持久层框架 它支持自定义 SQL、存储过程以及高级映射。 MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口 阅读全文
posted @ 2021-03-15 15:35 Lucky8991 阅读(58) 评论(0) 推荐(0)
摘要:Mybatis02 2、第一个Mybatis程序 思路:搭建环境–>导入Mybatis–>编写代码–>测试! 2.1、搭建环境 搭建数据库 CREATE DATABASE mybatis; use mybatis; CREATE TABLE user( id INT(20) not null PRI 阅读全文
posted @ 2021-03-15 15:30 Lucky8991 阅读(62) 评论(0) 推荐(0)
摘要:Mybatis03 3、CRUD 1、namespace namespace中的包名要和Dao/Mapper接口的包名保持一致 2、select 选择、查询语句: id:就是对应的namespace中的方法名 resultType:Sql语句执行的返回值! parameterType:参数类型! 编 阅读全文
posted @ 2021-03-15 15:29 Lucky8991 阅读(52) 评论(0) 推荐(0)
摘要:Mybatis04 4、配置解析 1、核心配置文件 mybatis-config.xml configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) p 阅读全文
posted @ 2021-03-15 15:28 Lucky8991 阅读(66) 评论(0) 推荐(0)
摘要:Mybatis05 5、解决属性名和字段名不一致的问题 1、起别名 2、resultMap 结果集映射 id name pwd id name password <!--结果集映射--> <resultMap id="UserMap" type="User"> <!--column数据库的字段,pr 阅读全文
posted @ 2021-03-15 15:27 Lucky8991 阅读(68) 评论(0) 推荐(0)
摘要:Mybatis06 6、日志 6.1、日志工厂 如果一个数据库操作,出现了异常,我们需要排错。日志就是最好的助手! 曾经:sout、debug 现在:日志工厂 SLF4J LOG4J【掌握】 LOG4J2 JDK_LOGGING COMMONS_LOGGING STDOUT_LOGGING【掌握】 阅读全文
posted @ 2021-03-15 15:26 Lucky8991 阅读(63) 评论(0) 推荐(0)
摘要:Mybatis07 7、分页 思考:为什么要分页 减少数据的处理量 7.1、使用Limit分页 语法:select * from user limit startIndex,pageSize SELECT * from user limit 3; #[0,n] 使用Mybatis实现分页,核心SQL 阅读全文
posted @ 2021-03-15 15:25 Lucky8991 阅读(57) 评论(0) 推荐(0)
摘要:Mybatis08 8、使用注解开发 8.1、面向接口编程 ​ 面向接口编程的根本原因:解耦,可拓展,提高复用,分层开发中、上层不用管具体的实现,大家都遵守共同的标准,使得开发变得容易,规范性好 8.2、使用注解开发 注解在接口上实现 @Select("select * from mybatis.u 阅读全文
posted @ 2021-03-15 15:20 Lucky8991 阅读(73) 评论(0) 推荐(0)
摘要:Mybatis09 9、Lombok Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java. Never write anoth 阅读全文
posted @ 2021-03-15 15:15 Lucky8991 阅读(61) 评论(0) 推荐(0)
摘要:Mybatis10 10、多对一处理 多对一: 多个学生,对应一个老师 对于学生这边而言,关联...多个学生,关联一个老师【多对一】 对于老师而言,集合,一个老师又很多学生【一对多】 SQL: CREATE TABLE teacher( id int(10) Not null, name VARCH 阅读全文
posted @ 2021-03-15 15:10 Lucky8991 阅读(54) 评论(0) 推荐(0)
摘要:Mybatis11 11、一对多 比如:一个老师有用多个学生! 对于是而言,就是一对多的关系! 1、环境搭建,和刚才一样 实体类 @Data public class Teacher { private int id; private String name; //一个老师拥有多个学生 privat 阅读全文
posted @ 2021-03-15 15:05 Lucky8991 阅读(49) 评论(0) 推荐(0)
摘要:Mybatis12 12、动态SQL 什么是动态SQL:动态SQL就是指根据不同的条件生成不同的SQL语句 利用动态SQL这一特性可以彻底摆脱这种痛苦 动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似。在 MyBatis 之前的版本中,有很多元素需要花时间了解。MyBatis 3 阅读全文
posted @ 2021-03-15 15:00 Lucky8991 阅读(70) 评论(0) 推荐(0)
摘要:Mybatis13 13、缓存(了解) 13.1、简介 查询 : 连接数据库,耗资源! 一次查询的结果,给他暂存在一个可以直接取到的地方!—>内存 : 缓存 我们再次查询相同数据的时候,直接走缓存,就不用走数据库了 什么事缓存[ Cache ]? 存在内存中的临时数据。 将用户经常查询的数据放在缓存 阅读全文
posted @ 2021-03-15 14:55 Lucky8991 阅读(88) 评论(0) 推荐(0)
摘要:IDEA中Tomcat乱码问题 1、file-setting中修改字符集 2、修改IDEA安装目录bin下的文件,添加-Dfile.encoding=UTF-8 3、Help-- Edit custom vm options 添加-Dfile.encoding=UTF-8 4、重启IDEA 本人经过 阅读全文
posted @ 2021-03-03 14:46 Lucky8991 阅读(143) 评论(0) 推荐(0)
摘要:Spring总集合(共13篇) Spring01-简介 Spring02-IOC理论指导 Spring03-HelloSpring Spring04-IOC创建对象的方式 Spring05-配置 Spring06-DI依赖注入 Spring07-Bean的自动装配 Spring08-使用注解开发 S 阅读全文
posted @ 2021-03-02 14:49 Lucky8991 阅读(112) 评论(0) 推荐(0)