Spring Boot

[七月挑选]使用idea创建spring boot 项目

折月煮酒 提交于 2020-11-12 03:24:03
参考lindaZ的 IntelliJ IDEA 创建spring boot 的Hello World 项目 1.Open IDEA,choose "New-->Project" 2.Choose "Spring Initializr" -> next 3.Project Metadata: Group: com.chanchifeng Artifact: server-system Description: server-system project for Spring Boot -> next 4. Choose "Web" -> next 5.删除.mvn,mvnw,mvnw.cmd。 创建HelloController HelloController.java: package com.chanchifeng.serversystem; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @SpringBootApplication @ComponentScan(

Springboot 添加druid监控

若如初见. 提交于 2020-11-11 21:46:33
pom <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version> 1.1 . 9 </version> </dependency> yml spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver - class - name: com.mysql.cj.jdbc.Driver url: jdbc:mysql: // localhost:3306/shiroDemo?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8 username: root password: root initialSize: 5 # 配置Druid的其他参数,以下配置必须增加一个配置文件才能有效 # 初始化大小,最小,最大 minIdle: 5 maxActive: 20 # 获取连接等待超时的时间 maxWait: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 timeBetweenEvictionRunsMillis: 60000 # 配置一个连接在池中最小生存的时间,单位是毫秒

spring boot 全局事务配置

微笑、不失礼 提交于 2020-11-11 21:44:55
我发现很多开源的springBoot项目,使用事务都是 直接使用 事务注解。并没有配置全局事务的。 其实目前现在不是新人程序员就以为 事务就只能靠加注解来控制了。根本没听说过全局事务配置。 网上很多全局事务其实都是不够好的。都是抄来抄去的。真的不知道能不能用。 其实这样很不好的。 写代码的时候如果漏了加上事务注解,那异常不回滚太可怕了 如果写代码的时候都需要手动加上注解,多费事啊。配置全局事务注解多省事。 配置代码 package com.door.config; import org.aspectj.lang.annotation.Aspect; import org.springframework.aop.Advisor; import org.springframework.aop.aspectj.AspectJExpressionPointcut; import org.springframework.aop.support.DefaultPointcutAdvisor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context

vue-element-admin跟springboot+shiro部署爬坑记

北城余情 提交于 2020-11-11 10:40:58
今天把前端采用vue-element-admin与springboot的项目部署到正是线上,在开发线上很OK的,一放上去我的天啊,坑是真的多阿。下面听我一一道来:我这边采用的是nginx服务器部署。 1. 首页能显示,F5强刷新页面404空白页。 location / { index index.php index.html index.htm;     try_files $uri $uri/ /index.html; } 2.接口出现返回405,404,403错误 1。去掉vue.config.js中的 // proxy: { // // change xxx-api/login => mock/login // // detail: https://cli.vuejs.org/config/#devserver-proxy // [process.env.VUE_APP_BASE_API]: { // target: `http://127.0.0.1:7081/callcenter-api`, // changeOrigin: true, // pathRewrite: { // ['^' + process.env.VUE_APP_BASE_API]: '' // } // } // }, //after: require('./mock/mock-server.js')

阿里内部P8大神架构师都在用的神仙级Spring Cloud文档,赶紧学起来

谁都会走 提交于 2020-11-11 10:24:59
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。值得一提的是Spring Cloud Alibaba对Dubbo做了很好的兼容,同时也提供了一些强大的功能,如 Sentinel 流控 ,Seata 分布式事务,Nacos 服务发现与注册等等。 但现在网上学习SpringCloud的资料要么不全,要么很少,完整的就更别说了, 所以今天给大家免费分享的这个关于Spring Cloud的学习文档,图文并茂,量身打造,非常适合再学习Spring Cloud 的朋友观看!下面来看看这份Spring Cloud 学习文档吧! 由于篇幅问题,为了不影响阅读,这份完整的Spring Cloud 学习文档已经整理好了,见文末获取 一、微服务概念 随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。从互联网早起到现在

身为一个合格的Java架构师,应该了解并且常用的Java技术有哪些?

时光怂恿深爱的人放手 提交于 2020-11-11 10:19:46
目录 前言 来自小编的建议 JAVA 该学习的哪些技术? 初中级 Java 程序员必须掌握的知识 Java 程序员必备书单 基础 并发 JVM 推荐的视频教程 前言 我听说编程语言,经常使用的是其中20%的技术。在Java这门语言中,这20%包括哪些内容?参加培训两个月了,还有两个月的时间,要想在两个月后,找到一份Java初级程序员的工作,有哪些是必须掌握的,有哪些是可以现学现卖的?一个完整的Javaweb项目,有哪些具体模块,每个模块用到的技术是哪些? 来自小编的建议 建议不要管那个常不常用的这些问题!技术一直在不断更新,学习是永不止境的,每个技术阶段虽然都有对应的常用技术需要学习,但是单单学习几个单个的技术是远远不够的。如果你想找工作就要老老实实的学, 操作系统、计算机网络这些基础知识,工作之后基本都忘的差不多了。但是,我个人觉得也还是要学的。很多人都说数据结构和算法就像一个程序员的内功,前期可能你看不出来,等到后面你再和那些算法和数据结构厉害的人比可能就会相形见绌。所以,我觉得除了应付找工作之外。搞好基础知识。如果非要学那些常用,我个人觉得:Spring、Hibernate、Mybatis 等框架、Dubbo、Zookeeper、常见的消息队列(比如Kafka、RocketMq)的使用、缓存Redis、MySQL等等这些东西都应该是每个Java初中级程序员必备的技能了吧!

在SpringBoot中使用@ConfigurationProperties简化多个@Value

会有一股神秘感。 提交于 2020-11-10 21:17:31
在Spring Boot中使用 @ConfigurationProperties 注解 Spring Boot 使用一些松的规则来绑定属性到@ConfigurationProperties bean 并且支持分层结构(hierarchical structure)。 1. 创建一个@ConfigurationProperties bean: @ConfigurationProperties(prefix = "my", ignoreUnknownFields = false, locations = "classpath:my.yml") public class ApplicationProperties { public User user; @data public class ApplicationProperties { private String userName; private String passWord ; } } 2. 创建my.yml 文件 my: user: user-name: admin pass-word: 123456 注: 使用my.properties 文件也可 上例中用到 @ConfigurationProperties 注解就可以绑定属性了。 prefix 用来选择哪个属性的prefix名字来绑定。ignoreUnknownFields

源码分享!基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务敏捷开发系统架构

和自甴很熟 提交于 2020-11-10 11:55:41
基于springboot cloud构建的一个商城项目,包括前端,后端和h5应用,小程序,作为zscat应用实践的模板项目。基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务敏捷开发系统架构。并引入组件化的思想实现高内聚低耦合,[ 微信 + 支付宝 + 百度 + 头条 ] 小程序 + APP + 公众号 + PC + H5 项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,积分商城,分销商城并提供应用管理方便第三方系统接入;同时还集合各种微服务治理功能和监控功能。模块包括:企业级的认证系统、开发平台、应用监控、慢sql监控、统一日志、单点登录、Redis分布式高速缓存、配置中心、分布式任务调度、接口文档、代码生成等等 1.项目技术 前后端分离的企业级微服务架构 基于Spring Boot 2.0.X、Spring Cloud Finchley和Spring Cloud Alibaba 深度定制Spring Security真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案 提供应用管理,方便第三方系统接入 引入组件化的思想实现高内聚低耦合

晋升必会的 70 道 「Spring 全家桶」高频面试题

旧街凉风 提交于 2020-11-10 07:36:53
对于那些想面试高级 Java 岗位的同学来说,除了算法属于比较「天方夜谭」的题目外 , 剩下针对实际工作的题目就属于真正的本事了,热门技术的细节和难点成为了面试时主要考察的内容。 这里说「天方夜谭」并不是说算法没用,不切实际,而是想说算法平时其实很少用到,甚至面试官都对自己出的算法题一知半解。 这里总结打磨了 70 道 Spring 相关面试题,有的很基础,有的很细节,大家可以评估一下自己掌握的情况。 Spring 重点要掌握 Spring Framework。 1. IoC 属于哪种设计模式? 2. 谈谈你对 Spring IoC 和 DI 的理解,它们有什么区别? 3. 简单谈谈 IoC 容器的原理。 4. bean 的 scope 有几种类型?请详细列举。 5. 说说 IoC 中的继承和 Java 继承的区别。 6. IoC 中 car 对象的配置如下,现在要添加 user 对象,并且将 car 注入到 user 中,正确的配置是? <bean id= "car" class = "com.southwind.entity.Car" > </ bean > 7. 请分别写出 IoC 静态工厂方法和实例工厂方法的配置。 8. IoC 自动装载有几种方式? 9. 介绍一下 Spring 框架中 bean 的生命周期。 10. IoC 容器自动完成装载,默认的方式是? Spring

微信抢红包过期失效实战案例

守給你的承諾、 提交于 2020-11-10 06:51:27
前言 微信红包业务,发红包之后如果24小时之内没有被领取完就自动过期失效。 架构设计 业务流程 老板发红包,此时缓存初始化红包个数,红包金额(单位分),并异步入库。 红包数据入延迟队列,唯一标识+失效时间 红包数据出延迟队列,根据唯一标识清空红包缓存数据、异步更新数据库、异步退回红包金额 代码案例 这里我们使用 Java 内置的 DelayQueue 来实现, DelayQueue 是一个无界的 BlockingQueue ,用于放置实现了 Delayed 接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。 老板发了10个红包一共200人民币,假装只有9个人抢红包。 发红包,缓存数据进入延迟队列: /** * 有人没抢 红包发多了 * 红包进入延迟队列 * 实现过期失效 * @param redPacketId * @return */ @ApiOperation(value="抢红包三",nickname="爪哇笔记") @PostMapping("/startThree") public Result startThree(long redPacketId){ int skillNum = 9; final CountDownLatch latch = new CountDownLatch(skillNum);//N个抢红包