
JavaEE
文章平均质量分 92
王小c
交流群:954614622
weixin:wangc_20171010
qq:947790973
个人网站 dev.wangc.site
展开
-
Day130 SpringCloud
SpringCloud微服务基础原创 2020-07-02 14:37:51 · 162 阅读 · 0 评论 -
Day129 消息中间件
消息中间件基础知识消息队列 MQ:为什么:当数据进行更新时,数据库,索引库,静态页面都需要进行修改,如果直接让服务器端修改这些代码,违背了微服务的独立原则;即使通过接口进行修改也会导致代码的耦合,所以产生了消息队列的机制,如果数据发生修改,服务器端只需要向消息队列发送消息,就可以做其他工作了(异步),而索引库和静态页面的接口时刻监听消息队列,如果监听到服务端的消息便进行数据的更新。是什么:消息队列是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息原创 2020-06-30 11:59:44 · 190 阅读 · 0 评论 -
Day122 Linux常用命令
查看日志因为在生产环境会遇到很多问题,那么最快的定位方式莫过于去看日志,我们都知道服务器每天会产生大量的日志,那么如何快速的定位也就是最关键的。CentOS中的日志服务系统rsyslogLinux系统常见的日志文件路径1:/var/log/messages:记录 Linux 内核消息及各种应用程序的公共日志信息路径2:/var/log/cron:记录 crond 计划任务产生的事件信息路径3:/var/log/dmesg:记录 Linux 操作系统在引导过程中的各种事件信息路径4:/var/l原创 2020-06-21 23:38:27 · 135 阅读 · 0 评论 -
Day110 Hibername
相同点: 都是java中orm框架、屏蔽jdbc api的底层访问细节,使用我们不用与jdbc api打交道,就可以完成对数据库的持久化操作。jdbc api编程流程固定,还将sql语句与java代码混杂在了一起,经常需要拼凑sql语句,细节很繁琐。 ibatis的好处:屏蔽jdbc api的底层访问细节;将sql语句与java代码进行分离;提供了将结果集自动封装称为实体对象和对象的集合的功能.queryForList返回对象集合,用queryForObject返回单个对象;提供了自动将实体...原创 2020-06-02 21:31:56 · 168 阅读 · 0 评论 -
Day109 MyBatis
JDBC编程分析Mybatis快速入门自定义Mybatis基于代理Dao实现CRUDMybatis参数Mybatis结果封装传统Dao层开发SqlMapConfig.xmlMybatis的连接池与事务Mybatis动态SQL语句Mybatis多表查询Mybatis延迟加载Mybatis缓存Mybatis注解开发...原创 2020-06-02 21:30:01 · 117 阅读 · 0 评论 -
Day106 SSM整合
环境搭建创建数据库和表结构create database ssm;create table account(id int primary key auto_increment,name varchar(100),money double(7,2),);创建Maven web工程,部署到tomcat,加入以下pom依赖,并且加入java和resource目录 <properties> <project.build.sourceEncoding>U原创 2020-05-31 19:03:33 · 281 阅读 · 0 评论 -
Day105 项目实战7 商品查询
原创 2020-05-28 13:12:04 · 231 阅读 · 0 评论 -
Day104 项目实战6 规格参数
商品规格数据结构乐优商城是一个全品类的电商网站,因此商品的种类繁多,每一件商品,其属性又有差别。为了更准确描述商品及细分差别,抽象出两个概念:SPU和SKU,了解一下:SPU:Standard Product Unit (标准产品单位) ,这是一组具有共同属性的商品集。SPU是一个抽象的商品集概念,为了方便后台的管理。 SKU:Stock Keeping Unit(库存量单位),SPU商品集因具体特性不同而细分的每个商品。SKU才是具体要销售的商品,每一个SKU的价格、库存可能会不一样,用户购买的原创 2020-05-27 18:17:46 · 134 阅读 · 0 评论 -
Day103 Linux
Linux概述Unix:Unix是一个强大的多用户、多任务操作系统。于1969年在AT&T的贝尔实验室开发。UNIX的商标权由国际开放标准组织(The Open Group)所拥有。UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。 Linux:Linux是基于Unix的Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机。诞原创 2020-05-26 18:19:05 · 145 阅读 · 0 评论 -
Day102 FastDFS
文件上传的缺陷先思考一下,现在上传的功能,有没有什么问题?上传本身没有任何问题,问题出在保存文件的方式,我们是保存在服务器机器,就会有下面的问题: 单机器存储,存储能力有限 无法进行水平扩展,因为多台机器的文件无法共享,会出现访问不到的情况 数据没有备份,有单点故障风险 并发能力差 这个时候,最好使用分布式文件存储来代替本地文件存储。...原创 2020-05-25 11:13:47 · 150 阅读 · 0 评论 -
Day101 项目实战5 图片上传
2.2.编写上传功能文件上传功能,也是自定义组件完成的,参照自定义组件用法指南:在页面中的使用:2.2.1.controller编写controller需要知道4个内容:结合用法指南 请求方式:上传肯定是POST 请求路径:/upload/image 请求参数:文件,参数名是file,SpringMVC会封装为一个接口:MultipartFile 返回结果:上传成功后得到的文件的url路径,也就是返回String 代码如下:@C...原创 2020-05-24 22:09:57 · 278 阅读 · 0 评论 -
Day99 注解
注解概念:说明程序的。给计算机看的 注释:用文字描述程序的。给程序员看的 定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。 概念描述: JDK1.5之后的新特性 说明程序的 使用注解:@注解名称 作用分类: ①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】 ②代码分析...原创 2020-05-21 19:03:45 · 292 阅读 · 0 评论 -
Day98 项目实战4 品牌新增
请求处理过程前端加载过程: 输入地址,先经过hosts文件进行解析:http://manage.leyou.com/#/item/brand——>http://127.0.0.1:80/#/item/brand 通过ip找到服务器地址(本机),进入80端口,被nginx监听捕获,转到http://127.0.0.1:9001(在Nginx中已设置) 再被webpack 监听捕获,到leyou-manage-web项目,根据#后面的路由路径/item/brand,找到页面,逐次响应回去给.原创 2020-05-19 22:58:00 · 168 阅读 · 0 评论 -
Day96 项目实战3 品牌查询
思路一样,先通过前端看请求路径和参数,然后开发后台提供数据接口通过数据库表建立实体类 参照前端页面的控制台编写controller 编写Service 建立通用Mapper接口简化开发 测试原创 2020-05-17 16:43:34 · 160 阅读 · 0 评论 -
Day95 通用Mapper
介绍:Mybatis中不会自动生成SQL,可以用通用Mapper插件进行自动生成 地址:https://gitee.com/free/Mapper,https://blog.youkuaiyun.com/isea533/article/details/83045335 原理:MBG 的基础上结合了部分 JPA 注解产生了通用 Mapper。 MBG:代码生成工具;JPA:序以统一的方式访问持久层的规范 使用: 添加依赖: ...原创 2020-05-16 10:17:14 · 115 阅读 · 0 评论 -
Day94 项目实战2 商品分类
企业中三种开发方式:原创 2020-05-13 23:05:31 · 210 阅读 · 0 评论 -
Day93 Nginx
使用域名访问本地项目统一环境:实际开发中,会有不同的环境。如果不同环境使用不同的ip去访问,可能会出现一些问题。为了保证所有环境的一致,我们会在各种环境下都使用域名来访问。那么,当我们在浏览器输入一个域名时,浏览器是如何找到对应服务的ip和端口的呢? 环境 开发环境:自己的电脑 测试环境:提供给测试人员使用的环境 预发布环境:数据是和生成环境的数据一致,运行最新的项目代码进去测试 生产环境:项目最终发布上线的环境 域名(购买一个主域名后,其可以解析无数个二级域名)原创 2020-05-12 23:03:03 · 138 阅读 · 0 评论 -
Day92 Java基础知识点(12)Collections工具类
对象拷贝61. 为什么要使用克隆?想对一个对象进行处理,又想保留原有的数据进行接下来的操作,就需要克隆了,Java语言中克隆针对的是类的实例。62. 如何实现对象克隆?有两种方式:1). 实现Cloneable接口并重写Object类中的clone()方法;2). 实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆,代码如下:...原创 2020-05-11 22:52:13 · 119 阅读 · 0 评论 -
Day91 Web小练习
前言程序就是用来解决问题的,而编程能力也是通过不断的解决问题,不断进行知识的总结,才能得到提高。比如,能不能通过学习的知识,让java代码通过一个小UI操控运行,比如可以通过界面点击运行和传递参数。思路:从近期学的JavaWeb的思路来说,可以像旅游网一样,前端的html代码控制服务器的java代码的运行,通过Servlet和Ajax技术。说明这个想法是可行的,接下来就试一下吧技术分析查询后发现想要html和java代码进行互动,Servlet基本是必备的,除非把java的功能用js实原创 2020-05-09 11:10:40 · 181 阅读 · 0 评论 -
Day90 SpringMVC框架2
100. 说一下 spring mvc 运行流程?Spring MVC运行流程图:Spring运行流程描述:1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;2.DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该...原创 2020-05-08 22:18:57 · 150 阅读 · 0 评论 -
Day89 项目实战1 环境搭建
创建父工程创建统一的父工程:leyou,用来管理依赖及其版本 创建Maven工程,一开始能简洁就简洁 填写项目信息(最基本的三个信息): GroupId:是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。 定义了项目属于哪个组,举个例子,如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp...原创 2020-05-07 17:34:03 · 191 阅读 · 0 评论 -
Day88 Java基础知识点(10) Spring
90. 为什么要使用 spring?1.简介 目的:解决企业应用开发的复杂性 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 范围:任何Java应用 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。2.轻量 从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有...原创 2020-05-06 17:09:56 · 173 阅读 · 0 评论 -
Day87 项目实战0 概述
1.了解电商行业学习电商项目,自然要先了解这个行业,所以我们首先来聊聊电商行业1.1.项目分类主要从需求方、盈利模式、技术侧重点这三个方面来看它们的不同1.1.1.传统项目各种企业里面用的管理系统(ERP、HR、OA、CRM、物流管理系统。。。。。。。) 需求方:公司、企业内部 盈利模式:项目本身卖钱 技术侧重点:业务功能 1.1.2....原创 2020-05-05 19:49:47 · 148 阅读 · 0 评论 -
Day86 SpringCloud
系统架构随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的Service Mesh。我们到底是该乘坐微服务的船只驶向远方,还是偏安一隅得过且过?其实生活不止眼前的苟且,还有诗和远方。所以我们今天就回顾历史,看一看系统架构...原创 2020-05-04 23:47:50 · 121 阅读 · 0 评论 -
Day84 从集中式到微服务架构
装饰者模式对已有的业务逻辑进一步的封装,使其增加额外的功能,如Java中的IO流就使用了装饰者模式,用户在使用的时候,可以任意组装,达到自己想要的效果。 举个栗子,我想吃三明治,首先我需要一根大大的香肠,我喜欢吃奶油,在香肠上面加一点奶油,再放一点蔬菜,最后再用两片面包夹一下,很丰盛的一顿午饭,营养又健康。(ps:不知道上海哪里有卖好吃的三明治的,求推荐~)那我们应该怎么来写代码呢? 首先,我...原创 2020-05-02 23:02:52 · 227 阅读 · 0 评论 -
Day83 SpringBoot整合
接下来,我们来看看如何用SpringBoot来玩转以前的SSM,我们沿用之前讲解SSM用到的数据库tb_user和实体类User准备编写pom.xml,引导类 与UserController整合SpringMVC1. 修改端口:添加全局配置文件application.properties,加入 server.port=802. 访问静态资源:习惯会把静态资源放在classpa...原创 2020-05-01 21:08:23 · 153 阅读 · 0 评论 -
Day82 设计模式
九、设计模式88. 说一下你熟悉的设计模式?单例模式简单点说,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例。getInstance()的返回值是一个对象的引用,并不是一个新的实例,所以不要错误的理解成多个对象。单例模式实现起来也很容易,直接看demo吧...原创 2020-04-29 22:37:54 · 106 阅读 · 0 评论 -
Day81 SpringBoot入门
SpringBoot介绍概念:整合与简化Spring应用开发,快速构建生产级别的Web工程。 优势:没有复杂的配置,没有混乱的依赖管理。 官网:https://spring.io/projects/spring-boot入门程序创建Maven工程 引入SpringBoot的依赖 spring-boot-starter-parent :对各种常用依赖的版本进行了管理 sprin...原创 2020-04-28 21:08:48 · 153 阅读 · 0 评论 -
Day79 SpringMVC框架
三层架构 咱们开发服务器端程序,一般都基于两种形式,一种C/S架构程序,一种B/S架构程序 使用Java语言基本上都是开发B/S架构的程序,B/S架构又分成了三层架构 三层架构 表现层:WEB层,用来和客户端进行数据交互的。表现层一般会采用MVC的设计模型 业务层:处理公司具体的业务逻辑的 持久层:用来操作数据库的 MVC模型 1. MVC全名是Model ...原创 2020-04-26 20:31:24 · 202 阅读 · 0 评论 -
Day76 Spring框架(2)AOP
在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 相关概念 Pointcut(切点):所谓切入点是指我们要对哪些Joinpoint进行拦截的定义。 Joinpoint(连接点): 所谓连接点是指那些被拦截到的点。在spring中,这些点指的是方法,因为spring只支持方法...原创 2020-04-21 23:04:31 · 141 阅读 · 0 评论 -
Day73 Spring框架(1)IoC
在之前注重学习如何实现一个功能,现在注重如何让代码更优秀,从开发者的角度思考问题,比如如何降低程序的耦合,降低程序的复杂性,Spring为此提供了很多功能。Spring框架概述:Spring是一个轻量级的IoC和AOP的企业级开发框架。至今已集成了20多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。Spring的I...原创 2020-04-16 19:47:55 · 262 阅读 · 0 评论