Lombok

程序员都在用的 IDEA 插件(不断更新)

你离开我真会死。 提交于 2020-08-15 09:24:56
IDEA一些不错的插件分享 目录 IDEA一些不错的插件分享 插件集合 CamelCase Translation LiveEdit MarkDown Navigator Jrebel CheckStyle-IDEA Alibaba Java Coding Guidelines Ideavim Maven Helper FindBugs-IDEA GsonFormat Key promoter X .ignore JVM Debuger Memory View CMD Support Batch Scripts Support BashSupport Docker integration JMH plugin ANSI Highlighter Ideolog RestfulToolkit CodeGlance Lombok plugin activate-power-mode Background Image Plus Iedis Mongo Plugin VisualVM Launcher GenerateAllSetter MyBatisCodeHelperPro Easy Code IDEA Mind Map SequenceDiagram Material Theme UI String Manipulation JUnit Generator V2.0 设置方法 插件集合

物联网项目开发 start 01

社会主义新天地 提交于 2020-08-14 13:04:48
物联网项目开发 start 01 小威架构 / boot-backend https://gitee.com/zhang.w/boot-backend.git 此项目源码采用前后端分离方式,spring boot开发后端,使用shiro进行权限控制,layui、bootstrap、jquery、html为前端,基于json进行交互,接口完全采用Restful的风格, 实现按钮级权限控制,可以作为开发项目的脚手架,做为基础项目。 1、git maven spring java web jdk idea community https://gitee.com/zhang.w/boot-backend.git sprint boot 2、source db code dependencies database script sql config db password   config email and password 3、pom file pom parent spring boot test spring boot spring boot aop actuator apring boot lombok  plugins   lombok json fastjson starter-web mybatis for db connection shiro mysql ehcache

为什么Spring推荐使用构造器注入而不是Field注入

假如想象 提交于 2020-08-14 11:29:16
前言 我们都知道在 Spring Bean 的注入方式一般分为三种:1、构造器注入 2、Setter注入 3、基于注解的 @Autowired 自动装配(Field 注入) 在以往的项目开发过程中,我们大多会使用方便灵活的 @Autowired 自动装配的方式来管理依赖,但是 Spring 官方却不推荐这么做 Inspection info: Spring Team recommends: “Always use constructor based dependency injection in your beans. Always use assertions for mandatory dependencies”. 从上述信息中我们可以得知,Spring 团队建议我们使用构造注入的方式管理我们的依赖,对强制依赖使用断言,那么为什么不建议使用自动装配呢 对比构造注入和Field注入 我么可以先来对比 Field 注入和 构造器注入的区别 Field 注入 // Field注入 public class AClass ( ) { @Autowired `在这里插入代码片` private BClass BClass ; } 优点 代码少,简洁明了 新增依赖十分方便,不需要修改原有代码 注入简单,只需要使用 @Autowired 注解或者 @Resource 注解 缺点

京淘实训Day05-SpringBoot加强

那年仲夏 提交于 2020-08-14 08:51:24
1.知识回顾 1.1SSM框架的回顾 1.1.1Spring框架作用 1.框架: 在程序中为了 节省时间,将一些公共代码整合到一起形成了框架. 2.框架的种类: 控制数据库的框架/控制页面流转/管理框架的框架...微服务框架(当下企业开发主流形式) 3.Spring框架:管理第三方框架,使得程序在调用/开发中/浑然一体. 1.1.2Spring框架核心 1).设计思想: IOC 控制反转 由容器负责对象的创建,负责对象的生命周期 2).IOC解释: Spring在启动的时候,在内存中申请了一大块的内存空间,用来维护spring所管理的对象. 3).采用K-V的数据结构的方式,管理spring中的对象. 4).如果spring容器想要管理第三方的框架,利用( 反射机制 ----->根据class实例化(新建)对象),之后按照规则将第三方的框架的对象使用MAP集合的形式进行数据的存储(对象生命周期).只要spring容器不关闭,则对象可以一直被人引用. 5).细节: Map<k:v> k是对象的唯一标识. v:被spring管理的对象. 例子: UserMapper接口如何被Spring容器管理的呢? Map<userMappaer,userMapper接口的实例化对象> 6).DI: 依赖注入 @Autowried和@Resource 说明: 将spring容器中的对象

对抗搜索(一)

梦想与她 提交于 2020-08-13 19:16:21
最近看刘汝佳老师的《算法经典入门训练指南》,搜相关的算法博客时,发现一本神书《人工智能 一种现代的方法》(以下简称《人工智能》),里面囊括的算法,也让我对算法有了新的认知。在学校时,相信大家都学过数据结构和算法,这些算法是大家接触的最基础的算法,再往上走,大家做人工智能,又涉及到机器学习和深度学习。鉴于自己的认知视野优先,总感觉这两类之间的算法中间跳过了很多东西。因此最近看算法时,不免要搜到很多博客,才知道算法的种类很多,每个类下面又有很多分支,图大类下的路径搜索,约束满足问题,以及这篇要讲的对抗搜索等等。东西太多但是在了解的过程中,也解答了以前的一些疑惑,比如路径搜索在游戏中的应用,约束满足的应用,以及对抗搜索在棋牌类的应用。最后感叹在校期间没有参加ACM训练,没有抓住机会扩展自己的视野。强烈建议在校生有机会参加参加ACM训练,拿不到奖牌也可以扩展自己的视野。真的很重要。正文开始: 对抗搜索 (本文很多东西都是参考上面两本书,文末会贴上自己的代码。) 相信大家在网上或多或少的都玩过很多对抗类游戏,比如五子棋、象棋、国际象棋、围棋等。初期时,可能很多时候是和电脑进行人机联系。电脑方的出牌策略就是应用了很多对抗搜索的算法(对抗类游戏可能有多个人参与,本文只讨论二人对抗的游戏,多人对抗的请参考《人工智能》这本书)。 这些问题非常难于求解,例如国际象棋的平均分支因子大约是35

IntelJ idea下lombok 不生效的问题

帅比萌擦擦* 提交于 2020-08-13 17:59:17
首先在ide中安装: 首先确保安装了插件: 使用快捷键ctrl+alt+s(或者file->settings)调起设置窗口,在窗口左边选择plugins-->Browse repositories... 其次pom.xml 添加依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> 安装完成后写个测试类 import lombok.Getter; import lombok.Setter; @Getter @Setter public class User { private String name; private String password; public void user(){}; } 调用: public static void main(String[] args) { User user=new User(); user.getName();//找不到方法 } 解决办法: 安装完成后 重启一下ide; 补充: 怎么在ide中查看类的方法和属性: 点击project右边的小齿轮点击show members 来源: oschina 链接: https://my.oschina.net/u/4367114/blog/4462550

Java代码精简之道

痴心易碎 提交于 2020-08-13 09:37:06
前言 古语有云: 道为术之灵,术为道之体;以道统术,以术得道。 其中:“道”指“规律、道理、理论”,“术”指“方法、技巧、技术”。意思是:“道”是“术”的灵魂,“术”是“道”的肉体;可以用“道”来统管“术”,也可以从“术”中获得“道”。 在拜读大佬“孤尽”的文章《 Code Review是苦涩但有意思的修行 》时,感受最深的一句话就是:“优质的代码一定是 少即是多 的精兵原则”,这就是大佬的代码精简之“道”。 工匠追求“术”到极致,其实就是在寻“道”,且离悟“道”也就不远了,亦或是已经得道,这就是“工匠精神”——一种追求“以术得道”的精神。 如果一个工匠只满足于“术”,不能追求“术”到极致去悟“道”,那只是一个靠“术”养家糊口的工匠而已。作者根据多年来的实践探索,总结了大量的Java代码精简之“术”,试图阐述出心中的Java代码精简之“道”。 1.利用语法 1.1.利用三元表达式 普通: String title; if (isMember(phone)) { title = "会员"; } else { title = "游客"; } 精简: String title = isMember(phone) ? "会员" : "游客"; 注意:对于包装类型的算术计算,需要注意避免拆包时的空指针问题。 1.2.利用for-each语句 从Java 5起,提供了for-each循环

mybatis 通用mapper,generator代码生成器,generator 生成 lombok(开发工具:idea,配置:application.properties)

一个人想着一个人 提交于 2020-08-13 09:12:57
相关文档: https://github.com/abel533/Mapper 目前在持久层框架上有 MyBatis 和 Spring Data JPA 两个选择, MyBatis 应用比较广泛,特别灵活,但是写映射文件比较繁琐。使用Generator后,一般的代码模板都是能够自动生成的,需要手写的部分比较少,加上通用mapper后就更加方便了。 Spring Data JPA 用起来比较简单,而且与 Spring Boot 整合起来非常好用。 以下代码github地址: https://github.com/LiWang1314/demo 一.pom.xml 新增 <!--通用Mapper--> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>4.0.3</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> <version>8.0.14</version> </dependency> <!-- Mybatis Generator -->

小程序商城--商城APP--开源商城--星然云商城系统

老子叫甜甜 提交于 2020-08-12 08:49:51
项目简介 星然云商城是基于当前流行技术采用前后端分离商城系统,包含商城,会员,充值,购物车,退款,订单,付款等功能,更适合企业,个人二次开发; 项目开源地址: https://github.com/xrshop/xrshop_h5 项目官网地址: http://ds.judaixia.com 主要功能如下: ① 订单模块:下单、购物车、支付,发货、收货、评价、退款等 ② 配置模块:各种配置 ③ 用户模块:登陆、注册、会员卡、充值、购买等 ④ 商品模块:商品添加、规格设置,商品上下架等 ⑤ 其他等 部分功能截图如下: 技术选型: 后端使用技术 1.1 SpringBoot2 1.2 MyBatis-Plus 1.3 SpringSecurity 1.4 Redis 1.5 Quartz 1.6 Mysql 1.7 swagger 1.8 Lombok 1.9 Hutool 1.10 Mapstruct 1.11 Redisson 前端使用技术 2.1 TypeScript3 2.2 Vue2 2.2 Sass 2.2 VueCli3 2.2 WebPack4 2.2 Babel 2.2 Git 2.2 Nginx​ 来源: oschina 链接: https://my.oschina.net/u/4552122/blog/4464157

Hystrix的使用5-监控页面dashboard

折月煮酒 提交于 2020-08-12 08:39:23
Hystrix的使用5-监控页面dashboard 1.简介 Hystrix仪表板可以实时监视Hystrix指标。可以查看Hystrix服务是否处于熔断状态等等。 2.代码实现 2.1 被监控工程代码增加代码 这里我们监控cloud-provider-payment-hystrix8001服务提供者类,需要在服务提供者启动类PaymentHystrixStart8001中加入以下方法,将监控地址修改 http://127.0.0.1:8001/hystrix.stream 。 /** * 给Hystrix Dashboard指定当前工程的监控路径为:http://127.0.0.1:8001/hystrix.stream * @return */ @Bean public ServletRegistrationBean getServlet(){ HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet(); ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet); registrationBean.setLoadOnStartup(1); registrationBean