自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java SSM 宿舍管理系统

基于SSM + bootstrap + MySql的图书管理系统系统功能说明:用户管理、学生分配班级、班级管理、财产管理、报修管理、登录、楼栋(宿舍)管理、宿舍分配资产、查看已分配资产、床位分配学生、宿舍设置舍长、宿舍资产分配、宿舍资产归还、宿舍资产报修、报修管理、注销登录、修改密码、上传头像、上传资产照片等等角色:1、超级管理员:拥有所有的菜单权限与操作权限2、学生菜单权限:学生管理、登录、资产报修,报修管理操作权限:学生列表查询、登录、注销、修改密码、已分配资产查看、资产报修,报修管理查询

2021-09-27 10:25:15 820 2

原创 Java Swing 贪吃蛇小游戏

Java Swing开发的一款仿贪吃蛇小游戏功能点可设置游戏难度:简单、一般、较难;计分功能:每吃到一颗食物,分数+5分;技术点JavaSeJava Swing文件个数5个:4个class、 1个interface代码行数445行适合人群学生或者有兴趣学习JavaSwing的小伙伴代码截图食物蛇方向枚举配置类游戏主体控制运行截图联系作者作者信息如需要此项目的完整代码,请联系作者。QQ: 1597757139...

2021-08-30 15:39:55 238

原创 Symbol

1、什么是SymbolSymbol是es6中一种新增加的数据类型,它表示独一无二的值。es5中我们把数据类型分为基本数据类型(字符串、数字、布尔、undefined、null)和引用数据类型(Object), 在es6中新增的Symbol数据类型划分到基本数据类型为什么会出现这样一种数据类型?由于对象的属性和方法是字符串组成,这样新增方法和属性的时候有可能冲突,比如:存在这样一个对象let obj = { name: "dog", say(){ console.log

2021-06-11 15:26:56 210

原创 ...扩展运算符

1、…扩展运算符能将数组转换成逗号分隔的参数序列<script> let starts = ["黄渤", "孙红雷", "张译"]; function show(...args){ console.log(args); } show(...starts);</script>2、应用举例:数组合并<script> const kuaizi = ["王太利", "肖央"]; const fengh

2021-06-09 17:32:07 428

原创 rest参数

1、ES5中的arguments参数<script> function stars(){ console.log(arguments); console.log(arguments[0]); } stars("黄渤", "孙红雷", "张译")</script>arguments的原型是一个object2、ES6中的rest参数<script> function stars(a, b, ...args)

2021-06-09 17:02:25 299

原创 函数参数默认值

1、形式参数初始值,具有默认值的参数,一般位置要靠后<script> function add(a, b, c = 8){ return a + b + c; } console.log(add(1, 2, 3)); // 6 console.log(add(1, 2)); // 11</script>2、与解构赋值结合使用<script> function connect({address="127.0.0.1",

2021-06-09 16:35:16 186

原创 箭头函数的声明和特性

1、this指向性问题this永远指向的是最后调用它的对象,也就是看它执行的时候是谁调用的。但是:箭头函数中,this是静态的,this始终指向函数声明时外层作用域下的this的值<script> window.animal = "monkey"; function say(){ console.log(this.animal); } let say2 = () => { console.log(this.anima

2021-06-09 16:22:31 568 1

原创 简化对象写法

ES6允许在大括号里面,直接写入变量和函数,作为对象的属性和方法<script> let language = "JavaScript"; let show = function () { console.log("I will change the world"); }; const school = { // 等价于:language: language language, show,

2021-06-09 09:46:00 109

原创 模板字符串

1、声明let str = `Hello, World`;console.log(str, typeof str);2、内容中可以直接出现换行符let html = `<ul> <li>Java</li> <li>JavaScript</li> <li>C#</li> </ul>`console.log(h

2021-06-09 09:37:29 155

原创 变量的解构赋值

1、数组的解构<script> const courses = ["Java", "Python", "Ruby", "JavaScript"]; // 这里是中括号 let [java, python, ruby, javascript] = courses; console.log(java); console.log(ruby);</script>2、对象的解构<script> const user = {

2021-06-09 09:36:56 92

原创 npm 常用命令与配置

一、官网https://www.npmjs.com/软件包可以在这里搜索到,如果要下载某个软件包,可先在官网搜索,然后复制名字,install即可二、常用命令1、npm init -yxinxizhongxin-lijin:npm-study lijin$ npm init -yWrote to /Users/lijin/Desktop/npm-study/package.json:{ "name": "npm-study", "version": "1.0.0", "desc

2021-06-06 17:30:31 361

原创 Java Web 图书管理系统

1、项目总体设计1.1、需求分析基于Java Web的图书管理系统,该系统应包含图书信息的添加,删除,修改,查询,借书,还书功能,用户层面的查看个人 信息,以及登录,注销,修改用户密码功能,以及查询借阅记录功能。该系统区分三种不同的角色:管理员、教师、学生。管理员拥有所有的功能,可查询所有用户的借阅记录,并且可无限借书,且无超期限制。教师拥有图书查询,借书,还书,查询个人借阅记录,并且拥有用户层面的所有功能,最多可借10本书,超期天数为10天。学生拥有图书查询,借书,还书,查询个人借阅记录,并且

2020-12-25 17:15:25 6068 1

原创 Spring Cloud Alibaba Nacos(八):多实例负载均衡

1、Ribbon简单介绍:Nacos Discovery中默认集成了Ribbon客户端负载均衡,默认策略为轮训方式2、项目改造我们通过启动多个nacos-provider示例,来测试多实例负载均衡。项目改造基于上一篇的项目代码改造nacos-provider ProviderController.javapackage com.apple.nacos.controller;import org.slf4j.Logger;import org.slf4j.LoggerFactory;imp

2020-11-20 10:23:26 3526 3

原创 Spring Cloud Alibaba Nacos(七):服务发现

1、新建SpringBoot父工程 nacos-discoverypom.xml<?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="http://maven.apache.org/POM/4.0.0 https

2020-11-19 20:33:15 260

原创 Spring Cloud Alibaba Nacos(六):集群部署

1、Nacos Server集群生产环境中,正确的做法是使用Nacos Server集群,保证配置中心高可用因为服务器资源不足,我们采用本机不同端口来模拟三台Nacos Server(3个或3个以上Nacos节点才能构成集群)首先把Nacos复制三份[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LFfXmjPX-1605689925425)(/Users/lijin/Library/Application Support/typora-user-images/imag

2020-11-18 17:10:28 389 1

原创 Spring Cloud Alibaba Nacos(五):配置中心(下)

1、前言在一个大的项目中,可能存在多个微服务工程,而这些微服务可能需要某些相同的配置,比如Redis的地址,此时在每个微服务的配置文件中都配置这个Redis地址也是可行的,但是比较麻烦,维护难度较大,也容易出错。此时,我们需要一个全局的配置文件,把公共的配置,比如Redis的地址保存在这个公共的配置文件中,所有微服务项目都来加载该全局配置文件。2、第一种方式(推荐用法)bootstrap.propertiesspring.application.name=expressspring.cloud.n

2020-11-18 14:49:50 189

原创 Spring Cloud Alibaba Nacos(四):配置中心(上)

1、概念命名空间(namespace):用于不同环境的配置隔离,例如开发环境、测试环境、生产环境。不同的命名空间下,可以存在相同名称的配置分组(Group)或配置集(Data ID)。默认的命令空间是public配置分组(Group):配置分组是对配置集进行分组。不同的配置分组下可以有相同的配置集(Data ID)。当在 Nacos 上创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP 。配置分组的常见场景:可用于区分不同的项目或应用,例如:学生管理系统的配置

2020-11-17 22:15:05 189

原创 Spring Cloud Alibaba Nacos(三):配置MySql数据源

在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力。具体操作步骤:初始化数据库,找到文件:/nacos/conf/nacos-mysql.sql,运行该sql文件;修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。### If use MySQL as datasource:spring.

2020-11-17 14:16:55 648

原创 Spring Cloud Alibaba Nacos(二):启动Nacos Server

1、环境要求Nacos依赖Java环境来运行。64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。**64 bit JDK 1.8+ **如果是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用: Maven 3.2.x+2、启动Nacos Server有以下两种方式来获取Nacos:从Github上下载源码方式下载编译后压缩包方式如果选择从Github上下载源码方式,请参照官

2020-11-15 12:47:16 945

原创 Spring Cloud Alibaba Nacos(一):概述

1、什么是Nacos在微服务分布式架构下,统一的配置中心入口是必不可少的,目前流行的配置中心有多种,像Spring Cloud Config,携程开源的Apollo,还有Alibaba的Nacos;Nacos是Spring Cloud Alibaba下的一个组件;Nacos的关键特性包括:服务发现和服务健康监测动态配置服务动态 DNS 服务服务及其元数据管理在本学习教程中,我们只对服务发现与服务健康监测、动态配置服务做主要介绍。...

2020-11-15 11:12:36 171

原创 RabbitMQ 主题模式之Topic交换机

一、Topic交换机主题模式需要用到Topic类型的交换机Topic交换机路由匹配规则:***** :精确匹配一个单词,必须要有值# :匹配0个或者多个单词举例:如上图的主题模式中,Q1队列绑定*.orange.*路由键,Q2绑定*.orange.#路由键1、如果生产者发送路由为one.orange.two的消息,则C1、C2都可以收到消息2、如果生产者发送路由为orange.one的消息,则都不能收到消息3、如果生产者发送路由为one.orange的消息,则只有C2可以收到消息

2020-11-05 18:01:12 532

原创 RabbitMQ工作模式概述

RabbitMQ工作模式概述五、主题模式RabbitMQ介绍了6种工作模式:简单模式、工作队列模式、发布/订阅模式、路由模式、主题模式和RPC模式五、主题模式主题模式使用的是topic类型的交换机,消息发送给topic交换机,由交换机根据绑定到该交换机的路由进行匹配,然后再发送到相应的队列路由匹配规则:将路由键值与某种模式匹配,此时队列需要绑定在一个模式上。符号”*“匹配一个单词,符号”#“匹配0或者多个单词。举例:"audit.#“可以匹配到"audit”、“audit.one”、“audi

2020-11-05 14:40:14 201

原创 设计模式七大设计原则之单一职责原则

1、单一职责原则定义:不能存在多余一个导致类变更的原因,通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1、职责P2。当由于职责P1需求发生改变而修改T时,有可能造成原本运行正常的职责P2发生故障。解决方案:遵循单一职责原则,分别建立两个类T1、T2分别来完成职责P1、P2,这样在修改P1时,不会影响到P2。注意:类T负责职责P,假设在某一天职责P细化成了P1、P2,那么在单一职责原则的指引下,我们需要建立两个类T1、T2,但是有时候发现在程序写好的情况下,这么改会浪费时间

2020-09-01 17:08:00 258

原创 Java泛型详解

1、什么是泛型泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数比如常见的ArrayList:public class ArrayList<E> extends AbstractList<E>这个就是泛型,可以表示任何对象类型(不可以是基本数据类型),具体表示哪种类型,是在实例化ArrayList时决定的:// 此时E为Integer类型,表示该ArrayList中只能存放Integer类型的数据new ArrayList<Integer>/

2020-08-30 14:47:14 199

原创 Java SSM 图书管理系统

基于SSM+LayUI+MySql的图书管理系统功能:用户登录注销用户注册图书信息的增删改查Shiro实现的权限控制代码工整,格式良好技术:JavaSpringBootMyBatisMySqlLayUIShiroMaven系统截图表结构books: 图书信息表No列名类型长度主键说明1book_novarchar30Y图书编号2book_namevarchar50N图书名称3qtyint1

2020-07-10 09:38:54 2184

原创 Maven与Spring Boot的profile功能集成

profile是什么?为什么需要profile? 在实际的项目开发中,我们往往需要根据不同的环境进行打包资源,比如打测试环境的包时需要加入测试环境的配置文件,比如数据库的连接信息等等,打生产环境的包时,需要将生产环境的配置文件打进包内。我们可以人工来处理这些配置文件,比如测试环境和生产环境公用一个数据库连接信息配置文件,那么在打两种环境的包时,就必须手动更改数据库连接信息,想想也是够了,超级麻烦,

2017-08-04 22:05:50 1442 1

原创 Spring 多线程

Spring通过任务执行器(TaskExecutor)来实现多线程和并发编程,使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor,而实际开发中任务一般都是非阻碍的,即异步的,所以我们要在配置类中通过@EnableAsync开启对异步任务的支持,并通过在实际执行的Bean的方法中使用@Async注解来声明其是一个异步任务。Demo: 配置类package

2017-08-03 21:10:19 416

原创 Spring事件(Application Event)

Spring的事件(Application Event)为Bean与Bean之间的通信提供了支持。当一个Bean处理完一个任务时,希望另一个Bean知道并能做相应的处理,这时我们就需要让另外一个Bean监听当前所发送的事件。 Demo: 自定义事件DemoEvent.java 继承ApplicationEventpackage com.example.mavenspringmvc.event;

2017-08-02 21:19:52 679 1

原创 Spring AOP

AOP:面向切面编程,相对于OOP面向对象编程 Spring AOP使用动态代理技术在运行期织入增强的代码,Spring AOP使用了两种代理机制,一种是基于JDK的动态代理,另一种是基于CGLib的动态代理,之所以使用两种代理机制,很大程度是因为JDK本身只提供接口的代理,而不支持类的代理。 Demo: 新建一个注解类@interface Action:package com.example

2017-08-02 21:05:27 275

原创 动态代理的两种实现:JDK动态代理、CGLib动态代理

动态代理目前实现的方式有两种:JDK动态代理、CGLib动态代理 首先来说一下第一种:JDK动态代理 JDK 1.3之后,Java提供了动态代理技术,允许开发者在运行期间创建接口的代理实例。在Sun刚推出动态代理时,还很难想象他有多大的用途,现在我们终于发现动态代理是实现AOP(面向切面编程)的绝好底层技术。 JDK的动态代理主要涉及到java.lang.reflect包中的两个类:Proxy

2017-07-23 22:40:45 638

Struts2API

学习Struts2的API帮助文档,希望能帮到你,赶紧下载吧!

2014-04-27

空空如也

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

TA关注的人

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