
软件介绍
Jboot是一款功能强大、简单专业的微服务框架,主要功能是帮助开发者降低微服务开发门槛、提高微服务开发效率的开发辅助工具,该框架同时完美支持在idea、eclipse下多maven模块操作,可以对java、html、css、js等资源文件进行热加载,可以快速高效、轻松便捷的进行微服务开发;Jboot体积轻量、占用系统空间不大,下载即可进行使用,使用该框架用户可以直接在数据库内进行极简调用,在分布式下载可以进行多任务分布式进行统一配置,让用户可以轻轻松松进行微服务快捷开发,感兴趣的用户赶快下载试试吧。

软件功能
在RPC下,Jboot支持了RPC下的熔断、降级、监控、Opentracing等等功能
在分布式下,Jboot支持了分布式缓存、分布式Session、分布式锁、分布式任务、统一配置中心
在数据库下,Jboot支持分库分表、支持Reids等nosql数据库的极简调用
在MQ下,Jboot支持rabbitmq、redismq、zbus甚至还支持了阿里云的商业MQ
Jboot还支持了Swagger、Event事件机制、高并发下的限流方案等等更多的惊喜
软件特色
1、基于JFinal的MVC+ORM快速开发。
2、基于ShardingSphere+Seata分布式事务和分库分表。
3、基于Dubbo或Motan的RPC实现
4、基于Sentinel的分布式限流和降级
5、基于Apollo和Nacos的分布式配置中心
6、基于EhCache和Redis的分布式二级缓存
官方教程
创建项目
#通过IntelliJIDEA创建项目
IntelliJIDEA下载地址:https://www.jetbrains.com/idea/,下载完成后完成后开始安装,安装过程略。
第一步:打开IntelliJIDEA创建maven项目,如下图:
第二步:填写maven项目的GroupId、ArtifactId和Version
GroupId一般是包名,用来做项目的唯一标识
ArtifactId一般是项目名
Version是项目的版本

第三步:填写项目存储路径

创建完毕后,我们会看到如下图所示,注意点击EnableAuto-Import.

#通过Eclipse创建项目
略,和通过IntelliJIDEA创建项目基本相同。
#Maven依赖
通过以上步骤建立项目后,我们会在项目目录下找到pom.xml文件,这个文件是maven的核心文件,maven是通过pom.xml对项目进行依赖配置和管理的。
我们需要在pom.xml里添加对Jboot的依赖配置,如下代码:
io.jboot
jboot
3.8.1
如下图所示:

#HelloWorld
一般情况下,对一个新项目的了解是从HelloWorld开始的,因此,我们需要通过Jboot来写一个HelloWorld程序。
这个HelloWorld的需求是:
通过编写代码,我们在浏览器访问后输出“HelloWorldJboot”的文字内容。
通过以上步骤,我们创建好了项目、添加好了jboot的maven依赖,接下来我们需要来创建一个叫IndexController的java文件


IndexController的代码如下:

以上代码需要注意以下几点:
IndexController需要继承JbootController或者Controller
需要添加@RequestMapping("/")请求映射配置
通过编写index()方法来接收请求,并向浏览器输出"HelloWorldJboot",此处注意:必须叫index()不能修改名字,后续会讲到其原理。
通过运行IndexController的main()方法,我们可以看到如下的日志输出:

我们看到最后一行日志的内容是:
serverstartedsuccess,url:https://127.0.0.1:8080/
此时我们通过浏览器访问:https://127.0.0.1:8080,就可以看到如下内容:

#链接数据库
在JavaWeb开发中,几乎99%以上的项目都需要和数据库打交道,因此,了解Jboot如何连接数据成为了必须。
通过Jboot连接数据库只需要做两步:
创建jboot.properties配置文件
在jboot.properties添加数据库连接信息
第一步:在项目的resource目录下创建jboot.properties文件,此时,项目的目录结构应该如下:

第二步:在jboot.properties文件添加如下数据库信息:

jboot.datasource.type:配置的是数据库的类型,目前Jboot支持的数据库类型有:Mysql、Oracle、SqlServer、Postgresql、Sqlite和其他标准的数据库。
jboot.datasource.url:配置的是数据库的连接信息
jboot.datasource.user:配置的是数据库的连接账号
jboot.datasource.password:配置的是数据库的连接密码,没有密码可以留空
通过配置完毕后,Jboot就已经有了访问数据库的能力,我们可以在IndexController写一个dbtest()方法,来测试下Jboot的数据库访问能力,代码如下:

注意:以上代码能够正式运行的前提是:
你本地安装好mysql数据库,并创建好库jbootdemo,因为数据库的连接url是:jdbc:mysql://127.0.0.1:3306/jbootdemo
jbootdemo下要有数据表user,因为sql查询内容是:select*fromuser
例如:作者本地数据库的内容如下:

运行IndexController的main()方法,并访问https://127.0.0.1:8080/dbtest,会看到如下内容所示:

此时,证明Jboot已经能够准确访问数据库。
#使用代码生成器
Jboot内置了一个简易的代码生成器,通过代码生成器运行,Jboot帮开发者生成每个数据库表对应java的model实体类,同时可以生成带有增、删、改、查基本数据库操作能力的service层代码。
在使用Jboot代码生成器之前,我们需要在jboot.properties配置好数据库的连接信息(以上内容已经提到)。并编写任意名字带有main()方法的执行类,例如我们叫CodeGenerator,代码如下:

运行CodeGenerator的main()方法之后,我们能看到Jboot已经帮我们创建好对应的包名和类名,此时,项目的目录如下:

通过Jboot代码生成器的运行,项目对应的model类和service会自动生成,同时Service层的代码以及带有了对数据库增、删、改、查的基本能力.
需要注意的是:再次运行该代码生成器的时候,BaseUser、BaseArticle会被重新覆盖,其他代码不会被覆盖。若需要重新生成service层和User、Article等代码,需要手动删除后,再次运行代码生成器CodeGenerator。
#自动注入
Jboot通过GoogleGuice提供了强健稳定的代码注入功能,使用注入功能只需要了解以下三个注解:
@Bean:声明此类可以被自动注入
@Inject:对属性进行赋值注入
通过代码生成器生成的Service层代码就已经默认添加上了@Bean和@Singleton这两个配置,生成的代码如下:

我们使用到UserService接口的时候,只需要添加@Inject注解即可,例如:在IndexController需要用到UserService,代码如下:

运行main()方法后,我们通过浏览访问https://127.0.0.1:8080/users,此时,页面显示的内容和访问https://127.0.0.1:8080/dbtest的效果是一样的:

#数据库的增删改查
在本章节,我们要完成一个小型的项目,这个项目是一个用户管理系统,他具有以下功能:
显示用户列表,带有分页的功能
可以对单个用户删除
可以对用户进行修改
可以添加新的用户
#分页查询
我们可以继续来改造IndexController,通过修改代码生成器的生成的UserService,来达到上述要求的功能。
在上述的章节里,我们知道,通过如下的代码可以获得所有的用户信息:

如果要分页,我们需要在UserService添加一个分页的方法,并在UserServiceImpl来实现这个分页的方法,代码如下:
UserService.java

UserServiceImpl.java

为了代码更加简洁直观,我们新建一个UserController来做用户相关的增删改查功能,代码如下:

getParaToInt()可以获得request提交过来的page数据,例如:https://127.0.0.1:8080/user?page=100,此时,代码里page的值是100,当不传值得时候,默认值是1。
通过userService.paginate查询数据库,返回一个Page对象,里面包含了当前页码、总页码和数据列表等信息。
通过setAttr()把数据结果传递到页面
把数据传递到user.html后,需要user.html把具体的数据和分页相关在网页上列出来。
第一步:完善数据的显示,user.html内容如下:

此时,运行main()方法,访问https://127.0.0.1:8080/user,页面显示内容如下:

第二步:完善分页功能。
Jboot应用的分页功能需要自定义一个分页标签,自定义分页标签非常简单,代码内容如下:

然后再修改user.html内容如下:

此时,运行main()方法,访问https://127.0.0.1:8080/user,页面显示内容如下:

由于数据量太小,同时在我们的代码里,要求每页显示10条数据,所以页面才显示了第一页,当我们在数据库添加数据量超过10条的时候,页面显示内容如下:

同时,上一页、下一页等功能正常使用,如下图:

实际上,#myPaginate()自定义分页标签还可以做更多的配置,包括功能和样式等,但是这不是本章节要讨论的内容了。
#新增功能
为了实现新增功能,我们需要写一个叫add.html的页面,并写对应的Controller,保证可以访问。
add.html的代码如下:

通过add.html内容我们能看到,当用户点击提交数据按钮的时候,页面会把数据提交到/user/doSave这个路径上去,所以,需要我们在UserController编写一个叫做doSave()的方法来接收数据,并保存到数据库。
doSave()方法内容如下:

doSave()方法的主要作用是接收数据、把数据保存到数据库、然后跳转到/user这个页面去。
#修改功能
为了减少代码量,我们直接把add.html改造成为可用做新增,也可以用作修改的功能(通常在商业项目中也会这么做),因此,我们需要简单修改下add.html代码和add()这个方法的代码。
add.html

和新增功能的html对比,增加了这行代码。
add()方法内容如下:

同时,doSave()方法也需要修改下,用来区分是新增还是修改,代码如下:

最后,我们在改造下user.html,在表格的后面添加一个修改的连接,user.html代码如下:

此时,页面内容如下,修改功能正常使用。

#删除功能
删除功能更加简单,只需要在Controller接收ID,然后调用userService.delete()方法就可以了,改造user.html代码如下:

页面显示如下:

我们只需要在UserController编写一个del()方法,接收id、删除数据库数据,并跳转回/user即可完成任务,代码如下:

到目前为止,增删改查所有功能完成。
#使用缓存提高性能
通过以上内容,我们可以使用Jboot开发一个具有增、删、改、查基本功能的JavaWeb应用,但是,在互联网的应用里,高并发的要求可以说是必不可少的,缓存在提高应用性能和并发上有绝对的话语权。
在Jboot里,我们如何来使用缓存呢?
Jboot提供了两种方案:
注解
手写代码
在注解中,Jboot提供了4个注解,方便的对缓存进行操作,他们分别是:
@Cacheable
@CachePut
@CacheEvict
@CachesEvict
如何来使用呢?
在以上的章节里,我们知道,如下的代码是一个分页查询的功能:

如何来让paginate(intpage,intsize)方法具有缓存的功能呢?
非常简单:

只需要添加@Cacheable(name="myCache",key="page:#(page)-#(size)")这个注解。
在Jboot中,默认的缓存为EhCache,这个注解的含义是:
在EhCache中创建一个缓存为myCache的缓存区
当查询第1页的时候,缓存的key为:page:1-10,因为paginate(intpage,intsize)方法在执行的时候,传递过来的值分别是:page=1,size=10
当查询第2页的时候,缓存的key为:page:2-10,原因同上。
当paginate(intpage,intsize)方法使用@Cacheable缓存之后,只有第一次访问的时候去查询数据库,之后的访问会直接从缓存中获取数据,大大提高了性能。
但是...
使用缓存也会带来一些问题,因为paginate(intpage,intsize)方法不再访问数据库,从而导致我们在数据库对数据进行增、删、改,这个页面数据都不会再发生变化。
要让paginate(intpage,intsize)方法与数据库同步,怎么办呢?
需要我们在对数据库进行增、删、改的时候,清除这个方法里的缓存数据。
代码如下:

重写父类JbootServiceBase的增、删、改的方法,在这些方法添加@CacheEvict(name="myCache",key="*")注解。
被添加@CacheEvict的方法,在执行之后,会清除name为myCache的所有key。也就是清除paginate(intpage,intsize)方法所有的key。
这样,就做到了paginate(intpage,intsize)方法与数据库同步的功能了。

Tags:Jboot下载,微服务框架,源码相关
Windows勒索病毒安全补丁大全系统其它 / 664.81MB / 2020-4-6 / WinAll / / 小编点评:Windows勒索病毒安全补丁大全,
下载
7stacks(stacks效果工具)系统其它 / 851.42MB / 2011-4-26 / Vista, win7 / / 小编点评:简单易用的快捷启动软件,在Wind.
下载
安全浏览互联网插件(https everywhere)滤镜插件 / 183.68MB / 2019-10-27 / WinAll / / 小编点评:httpseverywhere是一款.
下载
CAD填充图案制作插件滤镜插件 / 53.42MB / 2019-4-26 / WinAll, Win7 / / 小编点评:使用CAD作图的人员有时候没有现成.
下载
sketchup浮动文字插件(FlatText Free)滤镜插件 / 692.35MB / 2012-1-29 / WinAll / / 小编点评:FlatTextFree是一款免费.
下载
navicat for mysql|Navicat for MySQL下载(MySQL数据库管理工具下载)32位V11.2.15中文版下载 编程开发 / 597.10MB / 2011-7-24 / Win10,Win8,Win7,Vista,Win2003,WinXP / 简体中文 / 共享软件 小编点评:软件介绍NavicatforMySQ.
下载
中土守护者(暂未上线) 体育竞技 / 775.93MB / 2010-9-23 / Win8,Win7,Vista,WinXP / 英文 / 免费软件 小编点评:软件介绍《中土守卫者》是5打5的“多人战.
下载
阿卡尼亚王国:命运之刃免费版(暂未上线) 角色扮演 / 794.70MB / 2023-5-8 / Win8,Win7,Vista,WinXP / 英文 / 免费软件 小编点评:软件介绍《阿卡尼亚王国:命运之刃》是199.
下载
我是都市修仙人官方版下载-我是都市修仙人小游戏下载v1.6.4 安卓最新版角色扮演 / 391.11MB / 2023-4-3 / Android / 中文 / 重庆三丫互娱网络科技有限公司 / v1.6.4 安卓最新版 小编点评:我是都市修仙人免广告游戏是一个画风特.
下载
斗气传奇手游下载-斗气传奇游戏下载v1.0.0 安卓版角色扮演 / 77.90MB / 2013-11-17 / Android / 中文 / v1.0.0 安卓版 小编点评:斗气传奇游戏带你进去全新的传奇世界.
下载
灵光文明百度官方下载-灵光文明手游百度版下载v3.2.10 安卓最新版角色扮演 / 588.52MB / 2013-2-16 / Android / 中文 / v3.2.10 安卓最新版 小编点评:灵光文明百度礼包版是一款由百度游戏中心.
下载
懂车位app下载-懂车位手机客户端下载v2.2安卓最新版生活实用 / 487.63MB / 2018-2-11 / Android / 中文 / 北京昊昕科技有限公司 / v2.2安卓最新版 小编点评:懂车位手机客户端是一款便捷的手机停车.
下载
我的飞剑有点厉害手机版下载-我的飞剑有点厉害游戏下载v12 安卓版角色扮演 / 642.20MB / 2018-9-14 / Android / 中文 / 小河工作室 / v12 安卓版 小编点评:我的飞剑有点厉害游戏是一款放置养成小游戏,在游.
下载
田径与技巧游戏下载-田径与技巧手机版下载v5.6.0 安卓版
暴走传奇破解版下载-暴走传奇内购破解版下载v1.0.3 安卓修改版
小米大圣捉妖游戏下载-大圣捉妖小米官方版手游下载v2.6 安卓版
灵王觉醒官网版下载-灵王觉醒手游下载v1.0.32 安卓版
宜小帮手机版下载-宜小帮app下载v1.0.1 安卓版
发条士兵与丁字路口手游下载安装-发条士兵与丁字路口游戏下载v1.1.0 安卓最新版
艾美瘦身手机版下载-艾美瘦身app下载v1.6.5 安卓版
主播之家官方版下载安装最新版本-主播之家app下载v2.0.8 安卓版
数字烟台官方版下载-数字烟台app下载v1.8.3 安卓版
feelme软件最新版下载-feelme情绪心情日记下载v1.00 安卓版
light lite智能手机版下载-light lite app下载v1.3.5 安卓版
乌兰察布市公交app官方下载安装-乌兰察布公交车app实时查询下载v1.0.7 安卓最新版
渡鸦反叛手游下载-渡鸦反叛游戏下载v1.1 安卓版
冒险解谜 / 144.18MB / 2019-6-6 / Android / 中文 / v1.1 安卓版 下载
找出通缉犯手游下载-找出通缉犯游戏下载v2.0.0 安卓最新版
冒险解谜 / 762.20MB / 2014-1-7 / Android / 中文 / v2.0.0 安卓最新版 下载
绯雨骑士团公益服下载-绯雨骑士团bt版下载v1.0.1 安卓sf版
角色扮演 / 744.49MB / 2014-11-15 / Android / 中文 / v1.0.1 安卓sf版 下载
森林冰火人森林神庙游戏下载-森林冰火人森林神庙手机版下载v1.0.1 安卓版
冒险解谜 / 713.26MB / 2016-9-20 / Android / 中文 / 海南益趣科技有限公司 / v1.0.1 安卓版 下载
第五人格韩服下载安装-第五人格韩国版下载v1.6.15 安卓官方版
冒险解谜 / 380.60MB / 2015-2-13 / Android / 中文 / v1.6.15 安卓官方版 下载
上帝的遗产游戏下载-上帝的遗产官方版下载v1.0.7 安卓版
角色扮演 / 460.88MB / 2021-11-2 / Android / 中文 / v1.0.7 安卓版 下载
不朽凡人之紫剑奇谭手游下载-不朽凡人之紫剑奇谭游戏下载v3.1.0 安卓版
角色扮演 / 469.34MB / 2023-12-10 / Android / 中文 / v3.1.0 安卓版 下载
宠物记录软件下载-宠物记录app下载v1.0.1 安卓版
生活实用 / 956.96MB / 2020-12-8 / Android / 中文 / v1.0.1 安卓版 下载
这就是修真测试服下载-这就是修真抢玩版下载v1.1 安卓版
角色扮演 / 87.51MB / 2018-8-25 / Android / 中文 / v1.1 安卓版 下载
地藏天龙诀手游-地藏天龙诀最新版(暂未上线)v1.5.0 安卓版
角色扮演 / 948.75MB / 2016-8-16 / Android / 中文 / v1.5.0 安卓版 下载
极夜大陆流星之彼方手游下载-极夜大陆流星之彼方游戏下载v5.0 安卓版
冒险解谜 / 572.97MB / 2013-4-8 / Android / 中文 / v5.0 安卓版 下载
九幽仙域折扣版下载-九幽仙域折扣平台下载v1.0.0 安卓版
角色扮演 / 98.61MB / 2011-6-8 / Android / 中文 / v1.0.0 安卓版 下载
漫斗纪元九游版下载-漫斗纪元手游九游版下载v2.4 安卓版
冒险解谜 / 792.31MB / 2021-7-3 / Android / 中文 / v2.4 安卓版 下载