Spring Boot

阿里大佬推荐初学者练习的 Java 开源项目

☆樱花仙子☆ 提交于 2020-12-04 13:43:42
对于JAVA的新手来说,需要结合着相关书籍的学习和开源项目一起,才能达到比较好的效果。 在此推荐一些轻量级适合入门的JAVA开源项目, 希望对题主的学习有所帮助。 项目名称:springboot-learning-example项目简介:spring boot 实践学习案例,是 spring boot 初学者及核心技术巩固的最佳实践。 项目地址: springboot-learning-example. 项目名称:DockerFly 项目简介:Dockerfly是基于 Docker1.12+ (Docker API 1.24+) 开发出Docker 管理工具,提供里最基本的基于 Docker 的管理功能,目的是能够方便广大Docker初学者以及 Docker 管理员能够快速的进行Docker 容器的管理和维护。 项目地址:helyho/DockerFly 项目名称: jFinal-Paladin 项目简介:以jfinal为底层的java后台基础框架,结合了beetl、druid、shiro、ehcache; 初始目的是为了学习jfinal,最终目的形成一个工作中比较通用的基础后台框架; 希望给初学者提供些参考。 项目地址: jFinal-Paladin. 项目名称:spring-authority 项目简介:是由 spring+springmvc+hibernate+spring

短短一个秋招拿下字节跳动,阿里,每天3个offer,全靠我啃烂了这份2020最新的面试笔记!

微笑、不失礼 提交于 2020-12-04 11:29:33
前言 不论是校招还是社招都避免不了各种⾯试、笔试,如何去准备这些东⻄就显得格外重要。不论是笔试还是⾯试都是有章可循的,我这个“有章可循”说的意思只是说应对技术⾯试是可以提前准备,所谓不打无准备的仗就是这个道理,以下为大家,描述了从面试准备到最后的拿到offer提供了⾮常详细的⽬录,建议可以从头看是看⼀遍,如果基础不错的话也可以挑⾃⼰需要的章节查看 Redis 什么是Redis? Redis的数据类型? 使用Redis有哪些好处? Redis相比Memcached有哪些优势? Memcache与Redis的区别都有哪些? Redis是单进程单线程的? 一个字符串类型的值能存储最大容量是多少? Redis的持久化机制是什么?各自的优缺点? Redis常见性能问题和解决方案: redis过期键的删除策略? Redis的回收策略(淘汰策略) ? 为什么Redis需要把所有数据放到内存中? Redis的同步机制了解么? Pipeline有什么好处,为什么要用pipeline? 是否使用过Redis集群,集群的原理是什么? Redis集群方案什么情况下会导致整个集群不可用? Redis支持的Java客户端都有哪些?官方推荐用哪个? Jedis与Redisson对比有什么优缺点? Redis如何设置密码及验证密码? 说说Redis哈希槽的概念? Redis集群的主从复制模型是怎样的?

spring boot 加载配置文件

让人想犯罪 __ 提交于 2020-12-04 10:54:12
以下例子代码在github中,[代码链接](https://github.com/fiuty/demo) ##### 一、加载配置文件值 在springboot项目中,配置值可以通过两种方式来设置,一种是配置值写在properties文件中,另一种是写在yaml中。 (1)配置值写在properties文件中,读取properties配置值有两种方式,一种是写一个配置类,另一种是注入Environment类来获取。 default.properties配置值如下: ![image.png](https://upload-images.jianshu.io/upload_images/17109776-0a3d1f8eed22ccb8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) - 写一个配置类读取 ``` @Configuration @PropertySource(value = {"default.properties"}) @Data public class DefaultPropertiesConfig { @Value("${name}") private String name; @Value("${age}") private Integer age; } ``` -

idea 配置优化

雨燕双飞 提交于 2020-12-04 10:13:30
如果是 spring boot 项目,那么可以不用刻意去下载idea企业版的, 使用使用社区版可以基本够用了。 除非是 有其他原因。 在安装idea 的时候,最好 指定需要用到的插件,用不到的插件,就不要安装。 如果是中小项目,其实 已经不需要什么额外配置了,基本可以使用了,够满足了 大项目才需要配置优化,否则卡或者直接 报错 out of memory 配置优化 配置字体大小,默认太小 配置 idea 查看代码的时候,鼠标放在 代码上可以显示 对应的注释或者说明 配置idea 提示 修改过的代码文件,类似eclipse 一样,显示* 号 配置idea 不要 自动更新, 如果自动更新,比如更新某些插件,会可能会比较卡 配置 view 里面,显示 toobar ,显示更多快捷操作 配置 idea auto Import 自动带入的时候, 直接导入 依赖 配置代码提示 忽略大小写 关闭或者全部禁用 idea 的检验和检查,也就是 Inspections 配置 Java文件头 注释 和 方法注释。 方法注释在高版本,其实可以不用配置 ,在方法上 /** 按回车 就可以自动生成注释模板内容了 配置 maven 可以 自动下载源码 配置file Encodings 默认win 下是GBK 取消单行显示tabs的操作 可以开启自动项目的编译 智能导包 pugins 可以禁用一些插件,但是

仅仅一夜之间我竟秒杀各大面试官

一个人想着一个人 提交于 2020-12-04 08:25:48
最近写博客比较多,有些同学就会请教面试相关的知识,这里专门开一章,专门讲如何秒杀面试官,通关各大公司的面试,因为我之前在上海就是第一天去面试就搞定,一周频繁的收到offer,现在在北京也是只面试了一周,然后在一堆offer中进行选择。各位同学也不要羡慕,看完本章博客你就能学会如何秒杀面试官,轻松应对一系列的面试。 面试前奏 首先我们面试之前一定要梳理好自己的技术知识体系,然后在书写到简历上,写的技术自己一定要能讲出自己的理解。 项目部分将自己做过的项目罗列到简历上后,不能就不管了,要想秒杀面试官,一定要让他在你的回合里走不出来,在项目这一关一定要梳理好一个核心的项目进行讲解,对该项目的整体流程,业务点,技术点以及最重要的实际场景中遇到的技术难点如何解决的都要去复盘。 通过第二点讲到的如何解决难点,再联系到第一点的技术知识体系去,开始讲述关于这个难点所牵扯到的你技术知识体系中的技术。 最重要的两点技术和项目我们都解决了以后,一定也要将自己在上家公司的工作内容梳理清楚,具体涉及了哪些方法的工作内容,eg.开发,测试,文档,设计等 下面是我关于Java技术点的一些梳理,大家可以学习后扩展自己的技术栈,方便秒杀面试官。 有一些知识点没漏写的话,也可以去看下的文章和书籍,但是记得告知博主漏掉了什么知识点呀。 秒杀系列之Spring 这部分的内容可以直接在我的Spring专栏查阅, 链接:

Spring Cloud Alibaba | Nacos服务中心初探

烈酒焚心 提交于 2020-12-04 01:53:50
Spring Cloud Alibaba | Nacos服务注册与发现 Springboot: 2.1.6.RELEASE SpringCloud: Greenwich.SR1 如无特殊说明,本系列文章全采用以上版本 [TOC] 上一篇 《Spring Cloud Alibaba | Nacos服务中心初探》 我们聊了什么是Nacos以及Nacos如何搭建,这一篇我们接着聊Nacos如何简单使用。 首先,Nacos是一个服务注册和服务发现的注册中心,在Spring Cloud中,可以替代Eureka的功能,我们先聊一下Nacos如何和Spring Cloud集成做一个注册中心。 整体流程为: 先启动注册中心Nacos 启动服务的提供者将提供服务,并将服务注册到注册中心Nacos上 启动服务的消费者,在Nacos中找到服务并完成消费 1. 服务提供者 新建一个producer的项目,项目依赖如下: 1.1 pom.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

springboot + rabbitmq 用了消息确认机制,感觉掉坑里了

懵懂的女人 提交于 2020-12-04 01:52:23
今日福利 :扫描上方二维码,回复【黑马】 黑马Java Springboot2(1).0开发头条项目(资料、代码、讲义)14天完整版 最近部门号召大伙多组织一些技术分享会,说是要活跃公司的技术氛围,但早就看穿一切的我知道,这 T M 就是为了刷 KPI 。不过,话说回来这的确是件好事,与其开那些没味的扯皮会,多做技术交流还是很有助于个人成长的。 于是乎我主动报名参加了分享,咳咳咳~ ,真的不是为了那点 KPI ,就是想和大伙一起学习学习! 在这里插入图片描述 这次我分享的是 springboot + rabbitmq 如何实现消息确认机制,以及在实际开发中的一点踩坑经验,其实整体的内容比较简单,有时候事情就是这么神奇,越是简单的东西就越容易出错。 可以看到使用了 RabbitMQ 以后,我们的业务链路明显变长了,虽然做到了系统间的解耦,但可能造成消息丢失的场景也增加了。例如: 消息生产者 - > rabbitmq服务器(消息发送失败) rabbitmq服务器自身故障导致消息丢失 消息消费者 - > rabbitmq服务(消费消息失败) 所以说能不使用中间件就尽量不要用,如果为了用而用只会徒增烦恼。开启消息确认机制以后,尽管很大程度上保证了消息的准确送达,但由于频繁的确认交互, rabbitmq 整体效率变低,吞吐量下降严重,不是非常重要的消息真心不建议你用消息确认机制。

关于thymeleaf+layout布局的使用方式,spring boot 访问页面(静态页面及jsp页面)

丶灬走出姿态 提交于 2020-12-04 01:47:47
首先建立相同部分的html,这里我命名为layout.html,放在了`templates/layout'文件夹下,这个路径以后是会用到的,以下是我的layout的代码,比较粗糙. 但是应该会更好的帮助理解. 要提到几个重要的部分 <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org" xmlns:layout ="http://www.ultraq.net.nz/web/thymeleaf/layout"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <style> * {font-family: Microsoft YaHei, Tahoma, Helvetica, Arial, sans- serif;} .header {background - color: #f5f5f5;padding: 20px;} .header a {padding: 0 20px;} .container {padding: 20px;margin:20px auto;}

IDEA中如何添加RunDashboard

纵饮孤独 提交于 2020-12-03 22:55:41
运用spring cloud框架基于spring boot构建微服务,一般需要启动多个应用程序,在idea开发工具中,多个同时启动的应用 需要在RunDashboard运行仪表盘中可以更好的管理,但有时候idea中的RunDashboard窗口没有显示出来,也找不到直接的开启按钮 idea中打开Run Dashboard的方法如下     view > Tool Windows > Run Dashboard 如果上述列表找不到Run Dashboard,则可以在工程目录下找到.idea文件夹下的workspace.xml,在其中相应位置加入以下代码(替换)即可: < component name ="RunDashboard" > < option name ="configurationTypes" > < set > < option value ="SpringBootApplicationConfigurationType" /> </ set > </ option > < option name ="ruleStates" > < list > < RuleState > < option name ="name" value ="ConfigurationTypeDashboardGroupingRule" /> </ RuleState > < RuleState

SpringBoot整合Mybatis-Plus 实战之动态SQL,Mybatis最拿得出手的功能之一

ε祈祈猫儿з 提交于 2020-12-03 18:52:05
MyBatis的动态SQL是最令人喜欢的功能 在了解 动态SQL之前,你首先得知道一个表达式 OGNL,这个是基础! 面试常问问题 : Mybatis 中$与#的区别? #是将传入的值当做字符串的形式,select id,name,age from test where id =#{id}, 当把id值传入到后台的时候,就相当于 select id,name,age from test where id =‘1’. " "是将传入的数据直接显示生成sql语句,selectid,name,agefromtestwhereid="是将传入的数据直接显示生成sql语句,select id,name,age from test where id = " 是 将 传 入 的 数 据 直 接 显 示 生 成 s q l 语 句 , s e l e c t i d , n a m e , a g e f r o m t e s t w h e r e i d = {id}, 当把id值1,传入到后台的时候,就相当于 select id,name,age from test where id = 1. 使用#可以很大程度上防止sql注入。(语句的拼接) if 标签 mapper select from test where 1=1 and username like concat('%', #