Lombok

springboot整合Shiro

僤鯓⒐⒋嵵緔 提交于 2021-01-13 17:50:20
1.创建一个springboot项目 选中web和thymeleaf 1.1新建index.html <!DOCTYPE html > < html lang = "en" xmlns:th = "http://www.thymeleaf.org" > < head > < meta charset = "UTF-8" > < title > Title </ title > </ head > < body > < h1 > 首页 </ h1 > < p th:text = "${msg}" > </ p > </ body > </ html > 1.2创建一个controller package com.yao.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind. annotation .RequestMapping; @Controller public class MyController { @RequestMapping({ "/" , "/index" }) public String toIndex(Model model){ model

Java 项目权威排名:Nacos 未上版,Gradle 排名第二,Maven 排名 28

孤街醉人 提交于 2021-01-12 14:45:46
Python实战社群 Java实战社群 长按识别下方二维码, 按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群 ▲ 来源丨toutiao.com/i6908912198412681732/ https://github.com/ossf/criticality_score 发布了开源项目排名,下载地址: https://commondatastorage.googleapis.com/ossf-criticality-score/index.html 我在这里选出我感兴趣,而且和公众认知不大一致的排名。 Java项目权威Top200排名-结果出乎你意料 Spring生态 Java项目权威Top200排名-结果出乎你意料 这点毫无疑问,Spring生态是Java开发的实际标准规范。 Java项目权威Top200排名-结果出乎你意料 基于“事件驱动架构”的Spring Cloud Stream项目也上榜了,这才是微服务解耦的正确姿势。 Java项目权威Top200排名-结果出乎你意料 gradle vs maven(第2名vs第27) gradle无论是易用性还是性能都超过maven,但是大部分同学还苦苦守着maven。 Java项目权威Top200排名-结果出乎你意料 kafka vs pulsar(第12名vs第20名)

Lombok 安装、入门以及使用

陌路散爱 提交于 2021-01-12 07:50:32
lombok 的官方网址: http://projectlombok.org/ lombok 安装 使用 lombok 是需要安装的,如果不安装,IDE 则无法解析 lombok 注解。先在官网下载最新版本的 JAR 包,现在是 0.11.2 版本,我用的是 0.11.0 第一次使用的时候我下载的是最新版本的,也就是我现在用的 0.11.0,到现在已经更新了两个版本,更新的好快啊 ... ... 1. 双击下载下来的 JAR 包安装 lombok 我选择这种方式安装的时候提示没有发现任何 IDE,所以我没安装成功,我是手动安装的。如果你想以这种方式安装,请参考官网的视频。 2.eclipse / myeclipse 手动安装 lombok 1. 将 lombok.jar 复制到 myeclipse.ini / eclipse.ini 所在的文件夹目录下 2. 打开 eclipse.ini / myeclipse.ini,在最后面插入以下两行并保存: -Xbootclasspath/a:lombok.jar -javaagent:lombok.jar 3.重启 eclipse / myeclipse lombok 注解: lombok 提供的注解不多,可以参考官方视频的讲解和官方文档。 Lombok 注解在线帮助文档: http://projectlombok.org

Spring Boot 整合 spring cache

≡放荡痞女 提交于 2021-01-08 20:01:52
文章首发于微信公众号《程序员果果》 地址: https://mp.weixin.qq.com/s/nqozEsvl5ZMaREMv2gZKlQ 一、JSR107 JSR107是Java的一套缓存规范, Java Caching 定义了5个核心接口,分别是 CachingProvider , CacheManager , Cache , Entry 和 Expiry 。 CachingProvider :定义了创建、配置、获取、管理和控制多个CacheManager。一个应用可 以在运行期访问多个CachingProvider。 CacheManager :定义了创建、配置、获取、管理和控制多个唯一命名的Cache,这些Cache 存在于CacheManager的上下文中。一个CacheManager仅被一个CachingProvider所拥有。 Cache :是一个类似Map的数据结构并临时存储以Key为索引的值。一个Cache仅被一个 CacheManager所拥有。 Entry :是一个存储在Cache中的key-value对。 Expiry :每一个存储在Cache中的条目有一个定义的有效期。一旦超过这个时间,条目为过期 的状态。一旦过期,条目将不可访问、更新和删除。缓存有效期可以通过ExpiryPolicy设置。 二、Spring 缓存抽象 Spring从3.1开始定义了

Spring校验@RequestParams和@PathVariables参数

北慕城南 提交于 2021-01-06 22:53:40
我们在写Rest API接口时候会用到很多的@RequestParam和@PathVariable进行参数的传递,但是在校验的时候,不像使用@RequestBody那样的直接写在实体类中,我们这篇文章讲解一下如何去校验这些参数。 依赖配置 要使用Java Validation API,我们必须添加 validation-api 依赖项: <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version> </dependency> 通过添加@Validated注解来启用控制器中的@RequestParams和@PathVariables的验证: @RestController @RequestMapping("/") @Validated public class Controller { // ... } 校验@RequestParam 我们将数字作为请求参数传递给控制器方法 @GetMapping("/name-for-day") public String getNameOfDayByNumber(@RequestParam Integer dayOfWeek) { // ... }

Spring校验@RequestParams和@PathVariables参数

本秂侑毒 提交于 2021-01-06 21:35:27
我们在写Rest API接口时候会用到很多的@RequestParam和@PathVariable进行参数的传递,但是在校验的时候,不像使用@RequestBody那样的直接写在实体类中,我们这篇文章讲解一下如何去校验这些参数。 依赖配置 要使用Java Validation API,我们必须添加 validation-api 依赖项: <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version> </dependency> 通过添加@Validated注解来启用控制器中的@RequestParams和@PathVariables的验证: @RestController @RequestMapping("/") @Validated public class Controller { // ... } 校验@RequestParam 我们将数字作为请求参数传递给控制器方法 @GetMapping("/name-for-day") public String getNameOfDayByNumber(@RequestParam Integer dayOfWeek) { // ... }

IDEA 逆向工程

女生的网名这么多〃 提交于 2021-01-05 14:45:28
今天要写一个导入功能,需要把数据库的一个表映射成一个pojo,但是这表字段不是一般的多啊。。。想了想能不能自动生成???在IDEA中点了半天发现还是可以的 下面介绍一下步骤: 第一步:找到这个图标,建立一个数据库连接 建立完成之后如下图: 第二部修改生成pojo的脚本,切换到这个视图 主要是修改包名: 把上图中的packageName修改成生成pojo存放位置的包即可 第三步:选中要生成实体类的表(可以多选),右键按下图即可生成 如果项目中使用了Lombok插件的话,可以扩展一下自带的Generate POJOs.groovy就可很快的生成我们想要形式的pojo 下面是我的这个工程结构: 这是一个典型的maven工程结构,针对maven工程,扩展的两个groovy脚本,两个脚本均可以根据选择的文件夹自动生成正确的包名 Generate POJOs For Hibernate Lombok.groovy 这个脚本用来生成Hibernate的实体类,要注意两点:1、主键名必须是“id”,2、如果表中有版本字段,那么版本字段名必须是"version",3、这脚本生成的实体类,主键生成策略没有采用自增模式,如果你的表中主键设置了自增的话, 需要稍微改动一下才可以用 1 import com.intellij.database.model.DasTable 2 import com

通过注解的方式整合 MyBatis + Spring Boot

徘徊边缘 提交于 2020-12-31 10:12:48
目录 目录 1. 前言 2. 整合过程 2.1 新建 Spring Boot 项目 2.2 添加 pom 依赖 2.3 准备数据库 2.4 pojo 层 2.5 dao 层 2.7 controller 层 2.8 入口程序配置 2.9 网页测试 1. 前言 本篇博客主要利用 SpringBoot 通过注解的方式整合 Mybatis,所有涉及的代码已经上传 Github mybatis-annotation [1] 。下面是整个整合过程,接下来开始整合: 2. 整合过程 最终项目结构如下图所示: 2.1 新建 Spring Boot 项目 新建一个 Spring Boot 项目,添加 Web 组件,具体过程可以参照我的另一篇博客 创建 Spring Boot 项目的三种方式 [2] 。 2.2 添加 pom 依赖 由于要整合 MyBatis,所以我们需要在项目的配置文件 pom.xml 中添加 mysql 驱动和 SpringBoot MyBatis 整合包; <!-- springboot mybatis 整合包 --> < dependency > < groupId > org.mybatis.spring.boot </ groupId > < artifactId > mybatis-spring-boot-starter </ artifactId > <

轮子虽好,也要知其所以然!(Lombok操作实例)

元气小坏坏 提交于 2020-12-30 17:58:54
前提 自从进公司实习后,项目代码中能用 Lombok 的都用了,毕竟这么好的轮子要充分利用好。也可以减少一些 get/set/toString 方法的编写,虽说 IDEA 的插件可以自动生成 get/set/toString 方法,但是使用 Lombok 可以让代码更简洁。 下面看看如何在 IDEA中如何安装 Lombok: 安装 打开 IDEA 的 Settings 面板,并选择 Plugins 选项,然后点击 “Browse repositories” 在输入框输入”lombok”,得到搜索结果,点击安装,然后安装提示重启 IDEA,安装成功; 引入依赖 在自己的项目里添加 lombok 的编译支持,在 pom 文件里面添加 dependency <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version> <scope>provided</scope> </dependency> 复制代码 怎么使用? 在实体类上引入相关的注解就行: 有哪些注解? @Data @Setter @Getter @Log4j @AllArgsConstructor @NoArgsConstructor @EqualsAndHashCode

Add lombok (or any) annotation to swagger generated class

不羁的心 提交于 2020-12-29 13:15:34
问题 I scavenged the internet but didn't find anything to solve this problem. Is it possible to add the lombok annotations in a swagger class UPON generation? I have this swagger schema: Product: type: "object" required: - idSeller - model - name - description - price properties: id: type: string idSeller: type: string model: type: string name: type: string description: type: string price: type: number format: currency minimum: 0.01 Which generated this code: @Validated @javax.annotation.Generated