Spring Boot

一个人竟然撸了一个网易云音乐云村

我与影子孤独终老i 提交于 2020-12-16 23:36:17
今天推荐的这个项目是「 netease-cloud-music-community 」,是一个参照网易云音乐云村做的小程序社区,后端技术栈为 Java,SpringBoot,MySQL,Redis,前端技术栈为 uni-app。 功能简介 微信登录,发文本动态,发图文动态,发视频动态,关注,转发,评论,点赞,收藏等等。 技术栈 后端:Java,SpringBoot,MyBatis,MySQL,Redis 前端:uni-app 开发环境 后端:IntelliJ IDEA 前端:HbuilderX,微信开发者工具,QQ 小程序开发者工具 项目运行 后端: 1、创建数据库,执行根目录中的 live.sql,并修改 artist 表中的微信 APPID 等配置 2、使用 IDEA 导入 live-backend-mp 项目,并通过 Modules 的方式导入 live-backend-common 项目 3、修改 application-dev 中的 MySQL,Redis,阿里云 OSS 配置 前端: 1、使用 Hbuilder 导入项目 2、修改 manifest.json 的 APPID 配置(微信小程序或 QQ 小程序) 3、修改 App.vue 中的 domain 配置(修改为后端项目的路径) 4、运行到微信小程序 开源项目作者: fanchaoo , 开源项目地址

Spring Boot 集成Spring Data

夙愿已清 提交于 2020-12-16 23:31:39
参考文档: Reference 30.Working with NoSQL Technologies (使用NoSQL技术) Spring Data 提供额外的模块帮助你接入各种各样的NoSQL技术,有MongoDB,Neo4J,ElasticSearch,Solr,Redis,Gemfire,Cassandra,Couchbase 还有 LDAP。Spring Boot 为上面的中间件提供自动配置文件。你可以使用它们,但是必须自己配置。请参考Spring-Data相关文档 Spring Boot Data Reference 。 30.1 Redis ( Reference_2.0.3.RELEASE ) Redis 集群安装 参考:https://www.cnblogs.com/yuanermen/p/5717885.html Error 4 Ruby required >= 2.2.2 https://blog.csdn.net/lixwjava/article/details/50408070 1.New Features 这一节简要的介绍了各个在新版本特性和要注意的方面。(1.5>1.6>1.7>1.8>2.0新特性) Spring Data Redis 1.8中的新功能 < 5/6/7 略> Jedis更新到2.9 Lettuce更新到4.2(JDK 版本最低 1.8)

CTO 写的代码,真是绝了

无人久伴 提交于 2020-12-16 22:16:10
作者:聚IT 来源:touyatoutiao.com/i6847406631983153672 场景:当我们接收到一些数据需要对其进行处理时,由于它们来自于不同的渠道(如:腾讯,头条),不同渠道所需的处理方式不同,下面我们写一个简单Demo来实现该的场景。 解决思路 1、首先构建一个 GeneralChannelRule 基础规则抽象类,定义一个抽象方法process(),不同的渠道都需要实现该抽象方法。 public abstract class GeneralChannelRule { public abstract void process(); } 2、编写一个腾讯的规则类,定义具体对于腾讯渠道数据的处理逻辑 public class TencentChannelRule extends GeneralChannelRule @Override public void process () { // Tencent处理逻辑 } } 3、编写一个头条的规则类,定义具体对于头条数据的处理逻辑 public class TouTiaoChannelRule extends GeneralChannelRule @Override public void process () { // TouTiao处理逻辑 } } 4、建立一个简单的枚举类 public enum

2020年,阿里内推Java后端面试题,文末附面试福利。

穿精又带淫゛_ 提交于 2020-12-16 13:57:49
阿里一面题目: osi七层网络模型,五层网络模型,每次层分别有哪些协议 死锁产生的条件, 以及如何避免死锁,银行家算法,产生死锁后如何解决 如何判断链表有环 虚拟机类加载机制,双亲委派模型,以及为什么要实现双亲委派模型 虚拟机调优参数 拆箱装箱的原理 JVM垃圾回收算法 CMS G1 hashset和hashmap的区别,haspmap的底层实现put操作,扩容机制,currenthashmap如何解决线程安全,1.7版本以及1.8版本的不同 md5加密的原理 有多少种方法可以让线程阻塞,能说多少说多少 synchronized和reetrantlock锁 AQS同步器框架,countdowmlatch,cyclebarrier,semaphore,读写锁 阿里二面题目: B-Tree索引,myisam和innodb中索引的区别 BIO和NIO的应用场景 讲讲threadlocal 数据库隔离级别,每层级别分别用什么方法实现,三级封锁协议,共享锁排它锁,mvcc多版本并发控制协议,间隙锁 数据库索引?B+树?为什么要建索引?什么样的字段需要建索引,建索引的时候一般考虑什么?索引会不会使插入、删除作效率变低,怎么解决? 数据库表怎么设计的?数据库范式?设计的过程中需要注意什么? 共享锁与非共享锁、一个事务锁住了一条数据,另一个事务能查吗? Spring bean的生命周期

写代码有这16个好习惯,可以减少80%非业务的bug

梦想与她 提交于 2020-12-16 13:53:50
Python实战社群 Java实战社群 长按识别下方二维码, 按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群 ▲ 作者丨捡田螺的小男孩 来源丨捡田螺的小男孩 前言 每一个好习惯都是一笔财富,本文整理了写代码的16个好习惯,每个都很经典,养成这些习惯,可以规避多数非业务的bug!希望对大家有帮助哈,谢谢阅读,加油哦~ github地址,感谢每颗star ❝ https://github.com/whx123/JavaHome ❞ 1. 修改完代码,记得自测一下 「改完代码,自测一下」 是每位程序员必备的基本素养。尤其不要抱有这种侥幸 「心理:我只是改了一个变量或者我只改了一行配置代码,不用自测了」 。改完代码,尽量要求自己都去测试一下哈,可以规避很多不必要bug的。 2. 方法入参尽量都检验 入参校验也是每个程序员必备的基本素养。你的方法处理, 「必须先校验参数」 。比如入参是否允许为空,入参长度是否符合你的预期长度。这个尽量养成习惯吧,很多 「低级bug」 都是 「不校验参数」 导致的。 ❝ 如果你的数据库字段设置为varchar(16),对方传了一个32位的字符串过来,你不校验参数, 「插入数据库直接异常」 了。 ❞ 3. 修改老接口的时候,思考接口的兼容性。 很多bug都是因为修改了对外老接口,但是却 「不做兼容导致」 的

Redis字符串类型内部编码剖析

谁都会走 提交于 2020-12-16 10:42:11
概述 我们平时用 Redis都是处于用户层面,我们可能会不加思索地操作一个 key-value 对来方便地存取数据,感觉方便之至。但你知道这些数据在背后是如何存储以及编码的吗? 了解清楚了这个问题,将对我们更加高效地使用 Redis具有指导意义。本文开始我们将结合 Redis源码来逐个探讨Redis五大数据类型的内部编码机制。 实验环境:Redis 4.0.10 注: 本文首发于 My Personal Blog ,欢迎光临 小站 Redis数据类型内部编码概况 对于 Redis的常用 5 种数据类型(String、Hash、List、Set、sorted set),每种数据类型都提供了 最少两种 内部的编码格式,而且每个数据类型内部编码方式的选择 对用户是完全透明的 ,Redis会根据数据量自适应地选择较优化的内部编码格式。 如果想查看某个键的内部编码格式,可以使用 OBJECT ENCODING keyname 指令来进行,比如: 127.0.0.1:6379> 127.0.0.1:6379> set foo bar OK 127.0.0.1:6379> 127.0.0.1:6379> object encoding foo // 查看某个Redis键值的编码 "embstr" 127.0.0.1:6379> 127.0.0.1:6379> Redis

SpringBoot | 集成Redis

冷暖自知 提交于 2020-12-16 10:39:21
Windows下安装: https://github.com/MicrosoftArchive/redis/releases zip下就解包到自定义目录下,msi就跟着步骤安装 进入安装目录下运行命令, redis-server.exe redis.windows.conf 如上图就表示成功安装 在springboot集成redis: doc: https://spring.io/projects/spring-data-redis 依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 配置文件application.properties: spring.redis.host= 127.0 . 0.1 spring.redis.port = 6379 来源: oschina 链接: https://my.oschina.net/u/4389035/blog/4126330

SpringBoot系列: Spring MVC视图方法的补充

。_饼干妹妹 提交于 2020-12-16 10:38:48
SpringMVC 视图方法的参数, 已经在这个文章中写得非常清楚了, 链接为 https://www.cnblogs.com/morethink/p/8028664.html 这篇文章做一些补充. 被@RequestMapping 注解的方法的签名非常灵活, Spring会自动注入各种类型的实参, 另外返回值类型也可以有多种选择. ============================= View 方法的形式参数 ============================= View 形参种类和数量可以非常多, 这里仅列几种重要的类型: 1. ServletRequest 或 HttpServletRequest 类型的形参, 在运行时Spring MVC会自动注入 request 实参. 2. HttpSession 类型的形参, 在运行时Spring MVC会自动注入 session 实参. 3. java.util.Map/org.springframework.io.Model/org.springframework.ui.ModelMap 类型的参数, 该参数会被Spring自动注入, 我们可以通过该参数进一步控制视图层模型(向FreeMarker模版传参). 推荐使用 Model 或者 ModelMap 类型, 它们比 java.util.Map 更好用. 4. 处理

springboot常用注解

ε祈祈猫儿з 提交于 2020-12-16 07:19:08
@SpringBootApplication: 包含@Configuration、@EnableAutoConfiguration、@ComponentScan 通常用在主类上。 @Service : 用于标注业务层组件。 @RestController: 用于标注控制层组件(如struts中的action),包含@Controller和@ResponseBody。 @Transactional 事务注解,方法执行终止后,回滚之前的操作 @ResponseBody: 表示该方法的返回结果直接写入HTTP response body中 一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。 @Component: 泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。 @Configuration: 指出该类是 Bean 配置的信息源,相当于XML中的<beans></beans>,一般加在主类上。 @EnableAutoConfiguration: 让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置