<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JeecgBoot &#8211; wqh博客</title>
	<atom:link href="https://wangqianhong.com/tag/jeecgboot/feed/" rel="self" type="application/rss+xml" />
	<link>https://wangqianhong.com</link>
	<description>和而不同</description>
	<lastBuildDate>Thu, 16 Dec 2021 08:03:41 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://wangqianhong.com/wp-content/uploads/2020/09/cropped-1-1-1-32x32.png</url>
	<title>JeecgBoot &#8211; wqh博客</title>
	<link>https://wangqianhong.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>JeecgBoot（六）&#124; 开发心得</title>
		<link>https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e5%85%ad%ef%bc%89-%e5%bc%80%e5%8f%91%e5%bf%83%e5%be%97/</link>
					<comments>https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e5%85%ad%ef%bc%89-%e5%bc%80%e5%8f%91%e5%bf%83%e5%be%97/#respond</comments>
		
		<dc:creator><![CDATA[wqh_work]]></dc:creator>
		<pubDate>Sun, 17 Jan 2021 01:54:46 +0000</pubDate>
				<category><![CDATA[技术文章]]></category>
		<category><![CDATA[JeecgBoot]]></category>
		<guid isPermaLink="false">https://wangqianhong.com/?p=1257</guid>

					<description><![CDATA[<p>JeecgBoot也用过一段时间了，总结一下这段时间的开发心得。 前端如何发送HTTP请求 自动生成&#8230; <a href="https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e5%85%ad%ef%bc%89-%e5%bc%80%e5%8f%91%e5%bf%83%e5%be%97/" class="more-link read-more" rel="bookmark">继续阅读 <span class="screen-reader-text">JeecgBoot（六）&#124; 开发心得</span><i class="fa fa-arrow-right"></i></a></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e5%85%ad%ef%bc%89-%e5%bc%80%e5%8f%91%e5%bf%83%e5%be%97/">JeecgBoot（六）| 开发心得</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<p>JeecgBoot也用过一段时间了，总结一下这段时间的开发心得。</p>



<h3>前端如何发送HTTP请求</h3>



<p>自动生成的前端代码都是通过组件src/mixins/JeecgListMixin.js来发送http请求，里面列出了许多方法。</p>



<pre class="wp-block-preformatted">loadData     //查询数据
handleDelete //删除数据
handleEdit   //编辑数据
handleAdd    //新增数据
...</pre>



<h3>前端添加Components组件</h3>



<p>Ant Design Vue提供了丰富的组件资源 ，如果需要在页面上放置组件，直接复制对应的组件代码即可，。</p>



<p>例如在页面上放一个按钮，打开<a href="https://www.antdv.com/components/button-cn/" target="_blank" rel="noreferrer noopener">https://www.antdv.com/components/button-cn/</a>， 找到Components—Button：</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" src="https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot8.png" alt="" class="wp-image-1259" width="914" height="369" srcset="https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot8.png 1632w, https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot8-768x310.png 768w, https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot8-1536x620.png 1536w, https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot8-743x300.png 743w" sizes="(max-width: 914px) 100vw, 914px" /></figure>



<p>把复制的代码粘贴到对应的页面位置即可，例如放到src/views/exception/404.vue页面。</p>



<p>复制代码部分放到对应页面的标签下面：</p>



<pre class="wp-block-code"><code>&lt;template>
  &lt;!-- &lt;exception-page type="404" /> -->
    &lt;div id="components-button-demo-button-group">
    &lt;h4>Basic&lt;/h4>
    &lt;a-button-group>
      &lt;a-button>Cancel&lt;/a-button>
      &lt;a-button type="primary">
        OK
      &lt;/a-button>
    &lt;/a-button-group>
    &lt;a-button-group>
      &lt;a-button disabled>
        L
      &lt;/a-button>
      &lt;a-button disabled>
        M
      &lt;/a-button>
      &lt;a-button disabled>
        R
      &lt;/a-button>
    &lt;/a-button-group>
    &lt;a-button-group>
      &lt;a-button type="primary">
        L
      &lt;/a-button>
      &lt;a-button>M&lt;/a-button>
      &lt;a-button>M&lt;/a-button>
      &lt;a-button type="dashed">
        R
      &lt;/a-button>
    &lt;/a-button-group>

    &lt;h4>With Icon&lt;/h4>
    &lt;a-button-group>
      &lt;a-button type="primary"> &lt;a-icon type="left" />Go back &lt;/a-button>
      &lt;a-button type="primary"> Go forward&lt;a-icon type="right" /> &lt;/a-button>
    &lt;/a-button-group>
    &lt;a-button-group>
      &lt;a-button type="primary" icon="cloud" />
      &lt;a-button type="primary" icon="cloud-download" />
    &lt;/a-button-group>
  &lt;/div>
&lt;/template>

&lt;script>
  import ExceptionPage from './ExceptionPage'

  export default {
    components: {
      ExceptionPage
    }
  }
&lt;/script>

&lt;style scoped>
  #components-button-demo-button-group > h4 {
    margin: 16px 0;
    font-size: 14px;
    line-height: 1;
    font-weight: normal;
  }
  #components-button-demo-button-group > h4:first-child {
    margin-top: 0;
  }
  #components-button-demo-button-group .ant-btn-group {
    margin-right: 8px;
  }
&lt;/style></code></pre>



<p>刷新之后就可以看到按钮组件：</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="619" height="315" src="https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot9.png" alt="" class="wp-image-1265" srcset="https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot9.png 619w, https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot9-590x300.png 590w" sizes="(max-width: 619px) 100vw, 619px" /></figure>



<h3>日志跟踪</h3>



<p>框架中已经实现了日志跟踪功能，使用的接口在jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/service/BaseCommonService.java，会把信息存入sys_log表中，并且可以通过前端查看：</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" src="https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot10.png" alt="" class="wp-image-1264" width="990" height="360" srcset="https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot10.png 1861w, https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot10-768x280.png 768w, https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot10-1536x560.png 1536w, https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot10-823x300.png 823w" sizes="(max-width: 990px) 100vw, 990px" /></figure>



<h3>邮件提醒</h3>



<p>框架提供系统通知、邮件提醒、短信提醒和微信提醒4个功能，官方文档：<a href="http://doc.jeecg.com/2043949" target="_blank" rel="noreferrer noopener">http://doc.jeecg.com/2043949</a>：</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" src="https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot11.png" alt="" class="wp-image-1267" width="964" height="314" srcset="https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot11.png 1887w, https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot11-768x250.png 768w, https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot11-1536x501.png 1536w, https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot11-850x277.png 850w" sizes="(max-width: 964px) 100vw, 964px" /></figure>



<h3>总结</h3>



<p>目前项目开发中，JeecgBoot完全符合OA系统开发需要，可以自动生成前后端代码，方便项目组快速上手开发，尽管在使用过程中存在一些小问题，但相比起来优点更加突出。</p>



<p>现在开发的是OA系统，JeecgBoot的单体模式可以满足需求，如果后期需要扩展其他系统，可以把单体模式升级为微服务模式，让每个系统变成一个单独的服务。</p>
<p><a rel="nofollow" href="https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e5%85%ad%ef%bc%89-%e5%bc%80%e5%8f%91%e5%bf%83%e5%be%97/">JeecgBoot（六）| 开发心得</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e5%85%ad%ef%bc%89-%e5%bc%80%e5%8f%91%e5%bf%83%e5%be%97/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JeecgBoot（五）&#124; 微服务</title>
		<link>https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e4%ba%94%ef%bc%89-%e5%be%ae%e6%9c%8d%e5%8a%a1/</link>
					<comments>https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e4%ba%94%ef%bc%89-%e5%be%ae%e6%9c%8d%e5%8a%a1/#respond</comments>
		
		<dc:creator><![CDATA[wqh_work]]></dc:creator>
		<pubDate>Tue, 12 Jan 2021 01:35:30 +0000</pubDate>
				<category><![CDATA[技术文章]]></category>
		<category><![CDATA[JeecgBoot]]></category>
		<guid isPermaLink="false">https://wangqianhong.com/?p=1101</guid>

					<description><![CDATA[<p>微服务通过 Nacos 实现服务注册发现和统一配置中心，官方地址：http://doc.jeecg.&#8230; <a href="https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e4%ba%94%ef%bc%89-%e5%be%ae%e6%9c%8d%e5%8a%a1/" class="more-link read-more" rel="bookmark">继续阅读 <span class="screen-reader-text">JeecgBoot（五）&#124; 微服务</span><i class="fa fa-arrow-right"></i></a></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e4%ba%94%ef%bc%89-%e5%be%ae%e6%9c%8d%e5%8a%a1/">JeecgBoot（五）| 微服务</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<p>微服务通过 Nacos 实现服务注册发现和统一配置中心，官方地址：<a href="http://doc.jeecg.com/2043906" target="_blank" rel="noreferrer noopener">http://doc.jeecg.com/2043906</a></p>



<h3>安装</h3>



<p>如果安装了docker：</p>



<pre class="wp-block-code"><code>docker  pull nacos/nacos-server
docker run -d -p 8848:8848 --env MODE=standalone  --name nacos  nacos/nacos-server</code></pre>



<p>如果没有安装docker，可以去Github上下载：<a href="https://github.com/alibaba/nacos" target="_blank" rel="noreferrer noopener">https://github.com/alibaba/nacos</a></p>



<p>这里下载的是nacos-server-1.4.0.tar.gz。</p>



<p>上传到服务器解压：</p>



<pre class="wp-block-code"><code>tar -zxvf nacos-server-1.4.0.tar.gz</code></pre>



<p>然后切换到bin目录，执行命令：</p>



<pre class="wp-block-code"><code> nohup bash -f ./startup.sh -m standalone </code></pre>



<p>安装成功之后，通过<a href="http://localhost:8848/nacos" target="_blank" rel="noreferrer noopener">http://localhost:8848/nacos</a>访问，账号密码默认都是nacos。</p>



<h3>nacos配置</h3>



<p>新建jeecg.yaml，把jeecg-boot-starter/jeecg-boot-starter-cloud/nacos/jeecg.yaml文件中的内容复制进去，然后点击发布：</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" src="https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot6.png" alt="" class="wp-image-1170" width="938" height="455" srcset="https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot6.png 1653w, https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot6-768x372.png 768w, https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot6-1536x744.png 1536w, https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot6-619x300.png 619w" sizes="(max-width: 938px) 100vw, 938px" /></figure>



<p>新建jeecg-dev.yaml，把jeecg-boot-starter/jeecg-boot-starter-cloud/nacos/jeecg-dev.yaml文件中的内容复制进去，这里的网关使用nocas配置方式，所以修改一下参数route&#8212;config&#8211;data-type为nocase，然后点击发布。</p>



<p>新建jeecg-gateway-router.json，把jeecg-boot-starter/jeecg-boot-starter-cloud/nacos/jeecg-gateway-router.json文件中的内容复制进去，然后点击发布。</p>



<h3>pom配置</h3>



<p>修改单体的jeecg-boot-module-system/pom.xml文件。</p>



<p>注释掉依赖：</p>



<pre class="wp-block-preformatted">&lt;!-- &lt;dependency>
    &lt;groupId>org.jeecgframework.boot&lt;/groupId>
    &lt;artifactId>jeecg-boot-module-demo&lt;/artifactId>
    &lt;version>${jeecgboot.version}&lt;/version>
&lt;/dependency> --></pre>



<p>修改skip为true：</p>



<pre class="wp-block-preformatted">&lt;configuration>
    &lt;!--微服务模式下修改为 true,跳过此打包插件，否则微服务模块无法引用-->
    &lt;skip>true&lt;/skip>
&lt;/configuration></pre>



<h3>启动</h3>



<p>启动之前需要先把rabbitmq安装好，因为各个服务之间是通过消息队列进行通信。</p>



<p>依次启动各个服务：</p>



<p>jeecg-cloud-module/jeecg-cloud-gateway/src/main/java/org/jeecg/JeecgGatewayApplication.java</p>



<p>jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/JeecgSystemApplication.java</p>



<p>jeecg-cloud-module/jeecg-cloud-demo/src/main/java/org/jeecg/JeecgCloudDemoApplication.java</p>



<p>可以在服务列表中看到对应的服务名就表示安装成功了：</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" src="https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot7.png" alt="" class="wp-image-1175" width="925" height="279" srcset="https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot7.png 1868w, https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot7-768x232.png 768w, https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot7-1536x465.png 1536w, https://wangqianhong.com/wp-content/uploads/2021/01/jeecgboot7-850x257.png 850w" sizes="(max-width: 925px) 100vw, 925px" /></figure>



<p></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e4%ba%94%ef%bc%89-%e5%be%ae%e6%9c%8d%e5%8a%a1/">JeecgBoot（五）| 微服务</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e4%ba%94%ef%bc%89-%e5%be%ae%e6%9c%8d%e5%8a%a1/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JeecgBoot（四）&#124; Online表单开发</title>
		<link>https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e5%9b%9b%ef%bc%89-online%e8%a1%a8%e5%8d%95%e5%bc%80%e5%8f%91/</link>
					<comments>https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e5%9b%9b%ef%bc%89-online%e8%a1%a8%e5%8d%95%e5%bc%80%e5%8f%91/#respond</comments>
		
		<dc:creator><![CDATA[wqh_work]]></dc:creator>
		<pubDate>Thu, 07 Jan 2021 00:30:48 +0000</pubDate>
				<category><![CDATA[技术文章]]></category>
		<category><![CDATA[JeecgBoot]]></category>
		<guid isPermaLink="false">https://wangqianhong.com/?p=1073</guid>

					<description><![CDATA[<p>JeecgBoot提供了一系列低代码模块，Online表单开发就是其中之一。 前端导入表 在MySQ&#8230; <a href="https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e5%9b%9b%ef%bc%89-online%e8%a1%a8%e5%8d%95%e5%bc%80%e5%8f%91/" class="more-link read-more" rel="bookmark">继续阅读 <span class="screen-reader-text">JeecgBoot（四）&#124; Online表单开发</span><i class="fa fa-arrow-right"></i></a></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e5%9b%9b%ef%bc%89-online%e8%a1%a8%e5%8d%95%e5%bc%80%e5%8f%91/">JeecgBoot（四）| Online表单开发</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<p>JeecgBoot提供了一系列低代码模块，Online表单开发就是其中之一。</p>



<h3>前端导入表</h3>



<p>在MySQL中创建测试数据：</p>



<pre class="wp-block-code"><code>CREATE TABLE `test` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `name` varchar(30)  DEFAULT NULL COMMENT '姓名',
  `sex` varchar(2)  DEFAULT NULL COMMENT '性别 {男:1,女:2}',
  `age` int DEFAULT NULL COMMENT '年龄',
  PRIMARY KEY (`id`) USING BTREE
) ;

INSERT INTO `jeecg-boot`.`test` (`name`, `sex`, `age`) VALUES ('赵', '男', '16');
INSERT INTO `jeecg-boot`.`test` (`name`, `sex`, `age`) VALUES ('钱', '女', '17');
INSERT INTO `jeecg-boot`.`test` (`name`, `sex`, `age`) VALUES ('孙', '女', '15');
INSERT INTO `jeecg-boot`.`test` (`name`, `sex`, `age`) VALUES ('李', '男', '18');
INSERT INTO `jeecg-boot`.`test` (`name`, `sex`, `age`) VALUES ('周', '男', '19');
INSERT INTO `jeecg-boot`.`test` (`name`, `sex`, `age`) VALUES ('吴', '女', '20');
INSERT INTO `jeecg-boot`.`test` (`name`, `sex`, `age`) VALUES ('郑', '男', '17');
INSERT INTO `jeecg-boot`.`test` (`name`, `sex`, `age`) VALUES ('王', '女', '18');
</code></pre>



<p>创建好测试数据之后，在页面上点击：在线开发&#8211;Online表单开发&#8211;导入数据库表：</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" src="https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot2.png" alt="" class="wp-image-1084" width="765" height="171" srcset="https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot2.png 1367w, https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot2-768x172.png 768w, https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot2-850x191.png 850w" sizes="(max-width: 765px) 100vw, 765px" /></figure>



<p>在弹出框中选中新增的表test，点击生成表单。</p>



<h3>代码生成器</h3>



<p>JeecgBoot通过代码生成器直接生成前台端代码，非常方便。</p>



<p>选中新生成的表单，在页面上点击代码生成</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" src="https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot3.png" alt="" class="wp-image-1088" width="760" height="559" srcset="https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot3.png 1195w, https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot3-768x565.png 768w, https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot3-408x300.png 408w" sizes="(max-width: 760px) 100vw, 760px" /></figure>



<p>代码生成目录：默认的文件夹目录就是jeecg_config.properties中project_path配置的文件夹目录。</p>



<p>表名：数据库中的表名。</p>



<p>实体类名：java代码中的类名。</p>



<p>包名：java代码中的包名，会加上jeecg_config.properties中的bussi_package做为前缀。</p>



<p>生成成功之后，可以在目录<code>/home/twyc/code/org/jeecg/modules/test</code>下找到对应的代码：</p>



<pre class="wp-block-preformatted"><code>├─</code>controller
<code>├─</code>entity
<code>├─</code>mapper
<code>├─</code>service
<code>├─</code>vue
<code>│ <code>└─</code></code>TestList.vue
<code>│ ├─</code>modules
<code>│</code>    <code>└─</code>TestForm.vue
<code>│</code>    <code>└─</code>TestModal__Style#Drawer.vue
<code>│</code>    <code>└─</code>TestModal.vue</pre>



<p>前面4个文件夹就是后端代码，在目录<code>jeecg-boot-module-system/src/main/java/org/jeecg/modules</code>下创建test文件夹，把这4个放到test目录下面。</p>



<p>后面的vue就是前端代码，其中TestForm.vue和TestModal__Style#Drawer.vue分别表示Test页面是以弹出框形式还是侧边抽屉形式展现，二者任选其一即可。</p>



<p>在目录src/views下面创建test文件夹，把vue下的内容放到test目录下面。</p>



<p>然后重启前后端。</p>



<h3>页面编辑</h3>



<p>有了代码之后，需要新增一个页面，在页面中点击：系统管理&#8211;菜单管理&#8211;新增</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" src="https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot4.png" alt="" class="wp-image-1092" width="869" height="350" srcset="https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot4.png 1870w, https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot4-768x309.png 768w, https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot4-1536x618.png 1536w, https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot4-746x300.png 746w" sizes="(max-width: 869px) 100vw, 869px" /></figure>



<p>把新增的页面放在异常页下面。</p>



<p>菜单路径：就是浏览器的访问相对路径。</p>



<p>前端组件：就是views到TestList.vue的路径，比如这里的TestList.vue路径是<code>src/views/test/TestList.vue</code>，写成test/TestList即可。</p>



<h3>页面授权</h3>



<p>有了页面之后，还需要授权，在页面中点击：系统管理&#8211;角色管理-对应角色-授权</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" src="https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot5.png" alt="" class="wp-image-1094" width="895" height="282" srcset="https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot5.png 1873w, https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot5-768x242.png 768w, https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot5-1536x485.png 1536w, https://wangqianhong.com/wp-content/uploads/2020/12/jeecgboot5-850x268.png 850w" sizes="(max-width: 895px) 100vw, 895px" /></figure>



<p>现在的登录用户是admin，就给admin授权。</p>



<p>授权之后，刷新就可以在异常页面下看到测试页面。</p>



<h3>问题</h3>



<p>目前这里有2个问题。</p>



<p>第1个问题就是前端请求的时候，会默认发送createTime做为sql语句排序，所以修改一下前端代码<code>src/mixins/JeecgListMixin.js</code>：</p>



<pre class="wp-block-code"><code>/* 排序参数 */
isorter:{
   // column: 'createTime',
   // order: 'desc',
},</code></pre>



<p>第2个问题就是在新增数据的时候，jeecg-boot-module-system/src/main/java/org/jeecg/modules/test/entity/Test.java代码主键ID类型是ASSIGN_ID，改成AUTO就可以了：</p>



<pre class="wp-block-code"><code>/**主键ID*/
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "主键ID")
private java.lang.Integer id;</code></pre>
<p><a rel="nofollow" href="https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e5%9b%9b%ef%bc%89-online%e8%a1%a8%e5%8d%95%e5%bc%80%e5%8f%91/">JeecgBoot（四）| Online表单开发</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wangqianhong.com/2021/01/jeecgboot%ef%bc%88%e5%9b%9b%ef%bc%89-online%e8%a1%a8%e5%8d%95%e5%bc%80%e5%8f%91/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JeecgBoot（三）&#124; 项目调试</title>
		<link>https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%b8%89%ef%bc%89-%e9%a1%b9%e7%9b%ae%e8%b0%83%e8%af%95/</link>
					<comments>https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%b8%89%ef%bc%89-%e9%a1%b9%e7%9b%ae%e8%b0%83%e8%af%95/#respond</comments>
		
		<dc:creator><![CDATA[wqh_work]]></dc:creator>
		<pubDate>Tue, 29 Dec 2020 00:42:59 +0000</pubDate>
				<category><![CDATA[技术文章]]></category>
		<category><![CDATA[JeecgBoot]]></category>
		<guid isPermaLink="false">https://wangqianhong.com/?p=1057</guid>

					<description><![CDATA[<p>项目启动之后，需要对项目进行调试，VSCode提供了各种插件，方便我们快速进行调试。 JDK11 调&#8230; <a href="https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%b8%89%ef%bc%89-%e9%a1%b9%e7%9b%ae%e8%b0%83%e8%af%95/" class="more-link read-more" rel="bookmark">继续阅读 <span class="screen-reader-text">JeecgBoot（三）&#124; 项目调试</span><i class="fa fa-arrow-right"></i></a></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%b8%89%ef%bc%89-%e9%a1%b9%e7%9b%ae%e8%b0%83%e8%af%95/">JeecgBoot（三）| 项目调试</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<p>项目启动之后，需要对项目进行调试，VSCode提供了各种插件，方便我们快速进行调试。</p>



<h3>JDK11</h3>



<p>调试Java代码的时候，插件需要使用jdk11，之前安装过jdk1.8，可以同时安装多个jdk版本，在项目中配置对应的jdk就可以了。</p>



<p>首先下载jdk11，官方的需要oracle账号密码:</p>



<p><a href="https://www.oracle.com/java/technologies/javase-jdk11-downloads.html" target="_blank" rel="noreferrer noopener">https://www.oracle.com/java/technologies/javase-jdk11-downloads.html</a></p>



<p>我已经下载并上传到云盘：</p>



<pre class="wp-block-verse">链接: <a href="https://pan.baidu.com/s/1udb9uoWqRImb4bSgS81h6Q" target="_blank" rel="noreferrer noopener">https://pan.baidu.com/s/1udb9uoWqRImb4bSgS81h6Q</a>
提取码: <code>3fzr</code></pre>



<p>上传到Linux服务器并安装</p>



<pre class="wp-block-code"><code>rpm -ivh jdk-11.0.9_linux-x64_bin.rpm</code></pre>



<p>修改/etc/profile配置文件</p>



<pre class="wp-block-code"><code>export JAVA_HOME=/usr/java/jdk-11.0.9
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH</code></pre>



<p>保存退出之后刷新：</p>



<pre class="wp-block-code"><code>source /etc/profile</code></pre>



<p>修改后端代码根目录下的pom.xml，指定jdk版本：</p>



<pre class="wp-block-code"><code>&lt;properties>
	...
	&lt;maven.compiler.source>1.8&lt;/maven.compiler.source>
	&lt;maven.compiler.target>1.8&lt;/maven.compiler.target>
&lt;/properties></code></pre>



<h3>后端调试</h3>



<p>用VSCode安装一系列的插件：</p>



<pre class="wp-block-code"><code>Debugger for Java
Language Support for Java(TM) by Red Hat
Lombok Annotations Support for VS Code
Maven for Java
Visual Studio IntelliCode</code></pre>



<p>右键jeecg-boot-module-system/src/main/java/org/jeecg/JeecgSystemApplication.java，在选择框中可以看到Run和Debug选项。</p>



<p>Run表示Release，Debug就是调试，这里我们选中Debug。</p>



<p>启动成功之后，就可以进行后端的调试了。</p>



<h3>前端调试</h3>



<p>用VSCode安装一系列的插件：</p>



<pre class="wp-block-preformatted">Vetur
Debugger for Chrome</pre>



<p>安装完成之后，配置launch.json：</p>



<pre class="wp-block-code"><code>"version": "0.2.0",
"configurations": &#91;
	{
		"type": "chrome",
		"request": "launch",
		"name": "Launch Chrome against localhost",
		"url": "http://localhost:3000",
		"webRoot": "${workspaceFolder}"
	}
]</code></pre>



<p>在VSCode终端使用命令启动：</p>



<pre class="wp-block-code"><code>npm run serve</code></pre>



<p>启动完成之后，按F5启动就可以进行前端调试了。</p>



<p>在下一节中，我们将学习如何使用代码生成器自动生成前后端代码？</p>
<p><a rel="nofollow" href="https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%b8%89%ef%bc%89-%e9%a1%b9%e7%9b%ae%e8%b0%83%e8%af%95/">JeecgBoot（三）| 项目调试</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%b8%89%ef%bc%89-%e9%a1%b9%e7%9b%ae%e8%b0%83%e8%af%95/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JeecgBoot（二）&#124; 项目启动</title>
		<link>https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%ba%8c%ef%bc%89-%e9%a1%b9%e7%9b%ae%e5%90%af%e5%8a%a8/</link>
					<comments>https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%ba%8c%ef%bc%89-%e9%a1%b9%e7%9b%ae%e5%90%af%e5%8a%a8/#respond</comments>
		
		<dc:creator><![CDATA[wqh_work]]></dc:creator>
		<pubDate>Mon, 21 Dec 2020 11:14:45 +0000</pubDate>
				<category><![CDATA[技术文章]]></category>
		<category><![CDATA[JeecgBoot]]></category>
		<guid isPermaLink="false">https://wangqianhong.com/?p=1039</guid>

					<description><![CDATA[<p>依赖安装好之后，现在就可以来启动项目了。 我这里使用的IDE是VSCode，如果有不知道怎么用VSC&#8230; <a href="https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%ba%8c%ef%bc%89-%e9%a1%b9%e7%9b%ae%e5%90%af%e5%8a%a8/" class="more-link read-more" rel="bookmark">继续阅读 <span class="screen-reader-text">JeecgBoot（二）&#124; 项目启动</span><i class="fa fa-arrow-right"></i></a></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%ba%8c%ef%bc%89-%e9%a1%b9%e7%9b%ae%e5%90%af%e5%8a%a8/">JeecgBoot（二）| 项目启动</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<p>依赖安装好之后，现在就可以来启动项目了。</p>



<p>我这里使用的IDE是VSCode，如果有不知道怎么用VSCode连接Linux的可以参考这篇文章：</p>



<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-wqh博客"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="jBqNDGrQ5L"><a href="https://wangqianhong.com/2020/12/vscode%e9%80%9a%e8%bf%87remotessh%e8%bf%9c%e7%a8%8b%e8%bf%9e%e6%8e%a5linux%e6%9c%8d%e5%8a%a1%e5%99%a8/">VSCode通过RemoteSSH远程连接Linux服务器</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" title="《VSCode通过RemoteSSH远程连接Linux服务器》—wqh博客" src="https://wangqianhong.com/2020/12/vscode%e9%80%9a%e8%bf%87remotessh%e8%bf%9c%e7%a8%8b%e8%bf%9e%e6%8e%a5linux%e6%9c%8d%e5%8a%a1%e5%99%a8/embed/#?secret=jBqNDGrQ5L" data-secret="jBqNDGrQ5L" width="500" height="282" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



<h3>后端配置</h3>



<p>打开<code>jeecg-boot-module-system/src/main/resources/application-dev.yml</code>。</p>



<p>修改Mysql对应的配置：</p>



<pre class="wp-block-preformatted">url:&nbsp;jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&amp;useUnicode=true&amp;useSSL=false&amp;tinyInt1isBit=false&amp;allowPublicKeyRetrieval=true&amp;serverTimezone=Asia/Shanghai
username:&nbsp;root
password:&nbsp;你的密码
driver-class-name:&nbsp;com.mysql.cj.jdbc.Driver</pre>



<p>修改Redis对应的配置：</p>



<pre class="wp-block-preformatted">database:&nbsp;0
host:&nbsp;127.0.0.1
lettuce:
&nbsp;&nbsp;pool:
&nbsp;&nbsp;&nbsp;&nbsp;max-active:&nbsp;8&nbsp;&nbsp;&nbsp;#最大连接数据库连接数,设&nbsp;0&nbsp;为没有限制
&nbsp;&nbsp;&nbsp;  max-idle:&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;#最大等待连接中的数量,设&nbsp;0&nbsp;为没有限制
&nbsp;&nbsp;&nbsp;&nbsp;max-wait:&nbsp;-1ms&nbsp;&nbsp; #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
&nbsp;&nbsp;&nbsp;&nbsp;min-idle:&nbsp;0&nbsp;&nbsp;&nbsp;  #最小等待连接中的数量,设&nbsp;0&nbsp;为没有限制
&nbsp;&nbsp;shutdown-timeout:&nbsp;100ms
password:&nbsp;'你的密码'
port:&nbsp;6379</pre>



<p>打开<code>jeecg-boot-module-system/src/main/resources/jeecg/jeecg_database.properties</code>，修改mysql配置，这里的mysql是代码生成器的：</p>



<pre class="wp-block-preformatted">diver_name=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/jeecg-boot?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=Asia/Shanghai
username=root
password=你的密码
database_name=jeecg-boot</pre>



<p>打开<code>jeecg-boot-module-system/src/main/resources/jeecg/jeecg_config.properties</code>，修改生成路径等配置：</p>



<pre class="wp-block-preformatted">project_path=你的文件夹目录
bussi_package=org.jeecg.modules
source_root_package=</pre>



<h3>后端启动</h3>



<p>配置完成之后，在VSCode终端执行打包：</p>



<pre class="wp-block-code"><code>mvn package</code></pre>



<p>打包时间可能较长，看到下面内容表示打包成功：</p>



<pre class="wp-block-preformatted">[INFO] Reactor Summary:
[INFO]
[INFO] jeecg-boot-parent 2.4.0 ………………………. SUCCESS [ 0.014 s]
[INFO] jeecg-boot-base ……………………………… SUCCESS [ 0.003 s]
[INFO] jeecg-boot-base-tools ………………………… SUCCESS [ 1.579 s]
[INFO] jeecg-boot-base-core …………………………. SUCCESS [ 7.147 s]
[INFO] jeecg-boot-base-api ………………………….. SUCCESS [ 0.002 s]
[INFO] jeecg-system-local-api ……………………….. SUCCESS [ 0.198 s]
[INFO] jeecg-system-cloud-api ……………………….. SUCCESS [ 0.190 s]
[INFO] jeecg-boot-module-demo ……………………….. SUCCESS [ 6.392 s]
[INFO] jeecg-boot-module-system ……………………… SUCCESS [ 4.927 s]
[INFO] jeecg-boot-starter …………………………… SUCCESS [ 0.003 s]
[INFO] jeecg-boot-starter-cloud ……………………… SUCCESS [ 0.356 s]
[INFO] jeecg-boot-starter-job ……………………….. SUCCESS [ 0.209 s]
[INFO] jeecg-boot-starter-lock ………………………. SUCCESS [ 0.237 s]
[INFO] jeecg-boot-starter-rabbitmq …………………… SUCCESS [ 0.194 s]
[INFO] jeecg-boot-starter-redis ……………………… SUCCESS [ 0.160 s]
[INFO] jeecg-cloud-module …………………………… SUCCESS [ 0.002 s]
[INFO] jeecg-cloud-system-start ……………………… SUCCESS [ 2.487 s]
[INFO] jeecg-cloud-gateway ………………………….. SUCCESS [ 0.577 s]
[INFO] jeecg-cloud-monitor ………………………….. SUCCESS [ 0.573 s]
[INFO] jeecg-cloud-xxljob …………………………… SUCCESS [ 2.564 s]
[INFO] jeecg-cloud-demo 2.4.0 ……………………….. SUCCESS [ 0.929 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------</pre>



<p>使用java命令启动：</p>



<pre class="wp-block-code"><code>java -jar jeecg-boot-module-system/target/jeecg-boot-module-system-2.4.0.jar</code></pre>



<p>看到下面内容就表示启动成功了：</p>



<pre class="wp-block-preformatted">Application Jeecg-Boot is running! Access URLs: Local: http://localhost:8080/jeecg-boot/ External: http://172.17.0.2:8080/jeecg-boot/
Swagger文档: http://172.17.0.2:8080/jeecg-boot/doc.html</pre>



<p>启动完成之后，通过<a href="http://localhost:8080/jeecg-boot/" target="_blank" rel="noreferrer noopener">http://localhost:8080/jeecg-boot/</a>访问。</p>



<h3>前端配置</h3>



<p>打开<code>public/index.html</code>，修改配置：</p>



<pre class="wp-block-code"><code>window._CONFIG = {
    domianURL:'http://localhost:8080/jeecg-boot'
};</code></pre>



<p>在VSCode终端执行yarn，时间可能较长：</p>



<pre class="wp-block-code"><code>yarn install</code></pre>



<h3>前端启动</h3>



<p>使用npm命令启动：</p>



<pre class="wp-block-code"><code>npm run serve</code></pre>



<p>看到下面内容表示启动成功：</p>



<pre class="wp-block-preformatted">App running at:
Local: http://localhost:3000/
It seems you are running Vue CLI inside a container.
Access the dev server via http://localhost:/
Note that the development build is not optimized.
To create a production build, run yarn build.</pre>



<p>动完成之后，通过<a href="http://localhost:3000/" target="_blank" rel="noreferrer noopener">http://localhost:3000/</a>访问。</p>



<p>账号admin，密码123456。</p>



<p>在下一节中，我们将学习如何用VSCode调试前后端。</p>
<p><a rel="nofollow" href="https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%ba%8c%ef%bc%89-%e9%a1%b9%e7%9b%ae%e5%90%af%e5%8a%a8/">JeecgBoot（二）| 项目启动</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%ba%8c%ef%bc%89-%e9%a1%b9%e7%9b%ae%e5%90%af%e5%8a%a8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JeecgBoot（一）&#124; Linux开发环境安装</title>
		<link>https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%b8%80%ef%bc%89-linux%e5%bc%80%e5%8f%91%e7%8e%af%e5%a2%83%e5%ae%89%e8%a3%85/</link>
					<comments>https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%b8%80%ef%bc%89-linux%e5%bc%80%e5%8f%91%e7%8e%af%e5%a2%83%e5%ae%89%e8%a3%85/#respond</comments>
		
		<dc:creator><![CDATA[wqh_work]]></dc:creator>
		<pubDate>Wed, 16 Dec 2020 08:40:40 +0000</pubDate>
				<category><![CDATA[技术文章]]></category>
		<category><![CDATA[JeecgBoot]]></category>
		<guid isPermaLink="false">https://wangqianhong.com/?p=1021</guid>

					<description><![CDATA[<p>JeecgBoot 是一款基于代码生成器的低代码开发平台！前后端分离架构 SpringBoot2.x&#8230; <a href="https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%b8%80%ef%bc%89-linux%e5%bc%80%e5%8f%91%e7%8e%af%e5%a2%83%e5%ae%89%e8%a3%85/" class="more-link read-more" rel="bookmark">继续阅读 <span class="screen-reader-text">JeecgBoot（一）&#124; Linux开发环境安装</span><i class="fa fa-arrow-right"></i></a></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%b8%80%ef%bc%89-linux%e5%bc%80%e5%8f%91%e7%8e%af%e5%a2%83%e5%ae%89%e8%a3%85/">JeecgBoot（一）| Linux开发环境安装</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<p>JeecgBoot 是一款基于代码生成器的低代码开发平台！前后端分离架构 SpringBoot2.x，SpringCloud，Ant Design&amp;Vue，Mybatis-plus，Shiro，JWT，支持微服务。</p>



<p>官方Github：<a href="https://github.com/zhangdaiscott/jeecg-boot" target="_blank" rel="noreferrer noopener">https://github.com/zhangdaiscott/jeecg-boot</a></p>



<p>本文为JeecgBoot的全Linux开发环境，使用的是Centos8，想安装Windows开发环境的请查看：<a href="http://doc.jeecg.com/2043873" target="_blank" rel="noreferrer noopener">http://doc.jeecg.com/2043873</a></p>



<h3>下载解压</h3>



<p>这里使用的是2.4.0版本，下载：</p>



<pre class="wp-block-code"><code>wget https://codeload.github.com/zhangdaiscott/jeecg-boot/tar.gz/2.4.0</code></pre>



<p>下载完成后解压：</p>



<pre class="wp-block-code"><code>tar -zxvf jeecg-boot-2.4.0.tar.gz</code></pre>



<p>进入目录jeecg-boot-2.4.0，可以看到2个文件夹。</p>



<p>jeecg-boot：后端框架代码。</p>



<p>ant-design-vue-jeecg：前端框架代码。</p>



<h3>后端环境</h3>



<p>安装后端框架需要的依赖：</p>



<pre class="wp-block-code"><code>yum -y install java-1.8.0-openjdk maven mysql mysql-server redis</code></pre>



<h4>1. mysql</h4>



<p><span class="has-inline-color has-vivid-red-color">安装完成之后，不要立即启动mysql，这里需要先配置lower_case_table_names选项，因为在Linux是区分大小写的，这里必须先配置选项再启动mysql，否则sql语句会报错。</span></p>



<p>修改mysql配置文件，打开/etc/my.cnf.d/mysql-server.cnf，在[mysqld]下面加入：</p>



<pre class="wp-block-code"><code>lower_case_table_names=1</code></pre>



<p>保存退出之后，启动msyql：</p>



<pre class="wp-block-code"><code>systemctl start mysqld
systemctl enable mysqld</code></pre>



<p>Centos8默认安装的是mysql8.0.21，root默认密码为空。</p>



<p>登录之后，修改root密码：</p>



<pre class="wp-block-code"><code>alter user 'root'@'localhost' identified by '新密码';</code></pre>



<p>修改好密码之后，使用source导入sql文件，文件在jeecg-boot/db/jeecgboot-mysql-5.7.sql。</p>



<h4>2. jdk</h4>



<p>配置JDK环境，编辑文件/etc/profile，在最下面加入：</p>



<pre class="wp-block-code"><code>export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-3.el8_3.x86_64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH</code></pre>



<p>保存退出之后，刷新profile：</p>



<pre class="wp-block-code"><code>source /etc/profile</code></pre>



<h4>3. reids</h4>



<p>编辑文件/etc/redis.conf，修改requirepass：</p>



<pre class="wp-block-preformatted">requirepass 你的密码</pre>



<p>保存退出之后，启动redis：</p>



<pre class="wp-block-code"><code>systemctl start redis
systemctl enable redis</code></pre>



<h3>前端环境</h3>



<p>安装前端框架需要的依赖，yarn需要配置repo：</p>



<pre class="wp-block-code"><code>curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo</code></pre>



<p>完成之后再执行：</p>



<pre class="wp-block-code"><code>yum -y install nodejs yarn</code></pre>



<p>配置国内镜像：</p>



<pre class="wp-block-code"><code>npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global</code></pre>



<p>前端环境安装还是比较简单的。</p>



<p>在下一节中，我们将学习如何启动JeecgBoot？</p>
<p><a rel="nofollow" href="https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%b8%80%ef%bc%89-linux%e5%bc%80%e5%8f%91%e7%8e%af%e5%a2%83%e5%ae%89%e8%a3%85/">JeecgBoot（一）| Linux开发环境安装</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wangqianhong.com/2020/12/jeecgboot%ef%bc%88%e4%b8%80%ef%bc%89-linux%e5%bc%80%e5%8f%91%e7%8e%af%e5%a2%83%e5%ae%89%e8%a3%85/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
