
Spring项目实战
匍匐-菜鸟
好好做一件事,好好做下去
展开
-
newstyles项目实战(一)
这是学习Java以来第一个较为完整的项目,对此,写了一个专栏,专门记录自己创建newstyles项目的每一步,方便自己查阅,也方便也别人进行交流,互相学习。 首先,newstyles项目是一个类似于电商的项目,与网上的很多电商项目形似,但是无论是否一样,最终完完整整的自己做完了,每一步都较为详细的考虑了,这样学到的才是自己的东西,才能够对自己有很大帮助,每一步都实打实的,才会让自己原创 2018-01-29 15:25:05 · 285 阅读 · 0 评论 -
newstyles项目实战(十一)商品规格分析(二)、模板提交
前端分析: 下面概要的分析一下前端的具体实现: 首先,当此界面(item_param_add.jsp)加载成功后会调用我们再common.js中定义的initItemCat方法,其传递了一个json形式的方法,fun为名称,后面具体的为方法的定义,方法主要是判断一个类目的规格参数模板是否已经添加过,如果添加了就提示,若没添加就调用增加分组。那上述的方法具体是怎么执行的呢?原创 2018-03-27 12:05:33 · 386 阅读 · 0 评论 -
newstyles项目实战(十二)规格参数模板生成表单、表单参数提交
上一节只是生成了一个模板,那么我们怎么使用呢?我们需要将在添加商品时读取出来,生成一个表单,然后在页面上进行显示,然后对应的参数后面会随添加商品中的其它数据一起提交到数据库。基本流程为上一节的时序图中的第2步中。 所以来分析一下我们的需求: 在商品添加的jsp中,可以发现,我们在点击商品类目的时候会将列表的内容读取出来,那么前端是怎么执行的呢?首先,分析一下为当我们选择好了商品原创 2018-03-28 11:00:02 · 619 阅读 · 0 评论 -
newstyles项目实战(十二)规格参数展示
展示规格参数:首先分析一下,我们需要怎么去获取商品的规格参数,我们可以根据商品的id来查询商品的规格参数,取出来之后,可以采用html页面展示的方法来展示商品的规格参数。Dao层:根据商品的id;来查询对应的规格参数,其是一种单表查询操作,所以我们可以使用逆向工程生成的代码;Servcie层:service层实现的是上面分析的内容,通过接收商品的id来返回规格参数,并生成和返回原创 2018-03-29 15:02:41 · 328 阅读 · 0 评论 -
newstyles项目实战(十六)CMS管理系统之内容展示,内容添加
内容展示: 上几节我们能够创建新的节点,修改节点的名称,通过业务的分析可以知道,这些节点其实就是我们要管理的广告的类目,所以这次我们需要对内容,也就是广告进行管理,由此我们我们需要分析一下内容管理的业务逻辑。 当我们选择某一个类目时,就会出现此类目下的内容: 那我们怎么实现呢? 首先分析一下数据库中的表格,从前面的博客中我们知道子节点的parent_id为父节点的id所...原创 2018-05-02 12:58:08 · 265 阅读 · 0 评论 -
newstyles项目实战(十六)CMS管理系统之内容删除
之前已经了解了类目的添加以及重命名,内容的添加以及重命名等,但是没有完成的功能为类目的删除和内容的删除,我们首先需要分析一下我们的业务逻辑:首先对于内容的删除我们应该使用内容展示中的删除按钮来进行删除,但是当我们需要删除某一个类别时,同时也需要将其目录下的内容一起删除,所以,但我们删除某一个类目时,不仅删除了类目本身,而且还删除了其对应的内容,同时还需要注意的是,我们也要同时删除我们的N...原创 2018-05-02 23:30:59 · 401 阅读 · 0 评论 -
newstyles项目实战(十七)CMS管理系统之类目删除
前几节谈到了内容的删除,并能够再删除字段的同时,一并删掉nginx服务器上对应的图片,而这次我们需要完成的是类目的删除,假如说我们想删除掉某个类目,并同时删除掉类目下面的内容,这即是我们这次的内容任务。分析一下我们的业务逻辑和可以让我们较为方便的理清设计的思路,所以我们先了解一下页面发生的动作,进而了解我们需要完成哪些业务逻辑:可以发现当我们的右键点选delete时,即认为使我们要删除...原创 2018-05-03 13:24:14 · 405 阅读 · 0 评论 -
newstyles项目实战(十八)大广告位轮播图展示方案分析,内容服务发布及HttpClient使用
广告位的展示有多种方案,这里列举了两种常用的方案进行展示:1.json跨域请求:需要当首页加载完毕后,大广告位就应该显示。没有触发事件,不是太合适。也就是说我们没有事件时,3的请求设置就不太合理。调用rest服务层的工作就依赖于事件的触发。优点:不需要二次请求,页面直接加载内容数据。减少门户系统的压力。这样的话可以减少对protal系统的压力,因为大部分的工作都集中在rest服务层上。缺点...原创 2018-05-03 16:45:25 · 461 阅读 · 0 评论 -
newstyles项目实战(十六)CMS管理系统之内容分类管理
内容管理系统,在这里管理的主要为首页的广告,今天我们需要实现一个首页大广告位的实现,所以这个大广告位和我们的CMS(内容管理系统)是分不开的,所以首先分析下我们的业务流程: 我们需要展示的为广告,需要广告显式在对应的位置,但是我们之前的内容也分析过,一般的这些图片,尤其是向我们现在想要展示的内容一般放置在一个图片服务器上,我们接着利用之间搭建的nginx服务器作为我们的图片服务...原创 2018-04-27 15:54:07 · 369 阅读 · 0 评论 -
newstyles项目实战(十六)CMS管理系统之添加、重命名节点
节点我们在上一节能够完整的展示出来了,我们这个所需要做的就是根据在我们读取出来的节点上进行修改,也就是我们的右键的内容:如下图所示:按照上一节的逻辑,我们分析可以得到,还是针对上节的同一个表进行的操作,只不过那个是简单的查询,而这个则是需要对数据库的内容进行更改了。所以我们知道了需要操作的表,之后我们需要分析一下从页面到后台数据库的流程:添加操作:首先,我们点击右键就会发出我们的需求,...原创 2018-04-27 16:48:11 · 311 阅读 · 1 评论 -
newstyles项目实战(十九)redis概念以及安装,以及集群环境的模拟建立
redis的背景了解: Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。(来源于网络) 其最大的优势在于能够建立缓存,使得其以一种非关系型数据库的方式存在于互联网的工程应用之中,相比较传统的硬盘读写,其能够有较快的响应速度,不过也...原创 2018-06-09 16:56:19 · 233 阅读 · 0 评论 -
newstyles项目实战(二十)jedis与Spring整合
Spring和Jedis结合配置:Jedis连接池的配置:<!-- 连接池配置 --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <!-- 最大连接数 --> <property name="maxTotal" value="30&原创 2018-06-09 21:07:56 · 280 阅读 · 0 评论 -
newstyles项目实战(十四)门户工程系统搭建
接着上一节,可能有些对文件的目录组织有些问题,不知道文件应该放置到什么地方,所以,先将上一个博客中的内容进行一个补充:目录组织为:而这一次将完成门户系统的搭建任务。根据上一个博客中的结构图,我们可以分析如下内容:1.要不要连接数据库?不需要,从结构中可以看到,门户系统仅调用服务并不会连接数据库。所以我们可以不适用mybatis类。2.Spring需要使用嘛?需要,因为我们需要spri...原创 2018-04-02 17:10:52 · 248 阅读 · 0 评论 -
newstyles项目实战(十三)前台系统搭建分析、服务层工程搭建
前台系统顾名思义就是展示给顾客或浏览的人员,给人们提供展示等的功能,前台系统和后台系统并没有之间的关系,他们是分开的,但是他们使用同一个数据库,接下来分析一下前台系统的搭建:工程分析: 在图中可以看到,我们的后台系统通过mapper映射到mysql数据库,而前台系统也是通过mapper映射到数据库,那么为什么呢?虽然到后来会有较多的扩展,但是,他们调用的服务是相同的,原创 2018-04-02 15:44:14 · 284 阅读 · 0 评论 -
newstyles项目实战(十一)商品规格功能分析(一)
首先,什么是商品规格,在一些电商的网站上队以某一商品的详细描述,包括具体的规格参数等,这些内容能够准确的描述商品,同时也能够让消费者通过了解这些内容来做决策,判断对于此商品是否要购买,也就是说这个功能较为普遍,同时也很有用。参考下面图片中的商品的描述: 通过查看相似的页面可以发现,其又出些项目是相同的,不同的只是商品的具体的不同的值。同时,对于同一类商品,其主要的规格项目名称是相原创 2018-03-27 09:38:28 · 521 阅读 · 1 评论 -
项目实战(二)之newstyles工程创建
这一节要创建后台的管理工程,故首先需要完成后台工程的创建,利用带有maven插件的Eclipse创建。 首先分析一下项目的依赖关系,假如我们在公司工作,我们在开发时需要集成整个公司的共有的仓库,所以我们选择了maven来进行管理版本以及工程和jar包的依赖关系,选项目的工程之间的关系等可以用下面这个图来简单描述: 其中,不带有箭头的线段表示继承关系,带原创 2018-01-29 17:19:24 · 350 阅读 · 0 评论 -
newstyles项目实战(三)之 数据库创建
按照我们的计划,在完成项目的主体框架的搭建之后,对于一个后台系统,建立数据库是一个重要的步骤,首先,需要根据需要对数据库进行设计: 数据库中所记录的数据大致与商品以及客户的信息,以及客户和商品之间的关系而生成的一些表格。说到这里,对于数据库的建设,对于不同的应用目的其对应的建立数据库的策略也不相同,对于电商项目而言,其最大的需求在于数据的查询,查询数据量较大,最直观的理解即我们在浏览商原创 2018-03-08 10:38:35 · 280 阅读 · 0 评论 -
newstyles项目实战(七)商品列表功能实现
在测试完我们的框架之后,能够整体的通起来,我们实现一个简单的功能,结合我们之前写的jsp页面实现商品列表的查询:需求分析: 首先实现打开后台管理工程的首页,真正访问的是webapp下面的WEB-INF里面的jsp中的页面,由于其在webapp目录里面,不能够直接的去访问,所以我们这时候需要写一个controller来展示首页,所以在newstyles-manger-web工程的c原创 2018-03-14 23:55:46 · 575 阅读 · 0 评论 -
newstyles项目实战(八)商品类目选择功能
在工程中,我们所需实现的功能,其功能效果是怎么样的呢?来个示范。 通过了解之后,我们了解到要实现的最终的功能的情形,所以我们需要一步步的来实现这个功能了:1. 按钮添加点击事件,弹出窗口,加载数据显示tree,里边的属性列表是EasyUI的树形列表,这里需要使用其异步树形,所以此时我们需要使用一个动态的属性结构,因为我们需要当我们去点击某个节点时才去做一次Ajax请求,并去原创 2018-03-15 12:42:16 · 343 阅读 · 1 评论 -
newstyles项目实战(四)之Mybatis逆向工程
在SSM架构中,mybatis被选择作为持久层框架来实现pojo和对象之间的映射,持久层可以将数据业务存储到磁盘,具备长期的储存能力,只要磁盘不损坏,数据具有很好的复现性,持久层可以使用巨大的磁盘空间,他的缺点就是比较慢,相对内存而言的,然而,通过了解,发现其有3个较好的优势:1.不屏蔽SQL,意味着可以更为精确的定位SQL语句,可以对其进行优化和改造,还有利于互联网系统整体性能的提高。2原创 2018-03-09 12:44:12 · 354 阅读 · 0 评论 -
newstyles项目实战(五)SSM框架整合
本项目是基于SSM框架的,前面家里好了数据库,实现了数据库映射需要的mapper和pojo类等,同时,也在最开始将项目的依赖关系使用maven实现了很好的管理,这里呢,需要进行spring,springmvc,mybatis的框架的整合,这个需要结合本专栏文章的第一个篇,工程的建立,因为虽然为框架的整合,但是整合同时和项目的类型是分不开的,界限来先进行框架整合的分析: 首先配置dao层原创 2018-03-09 16:51:37 · 295 阅读 · 0 评论 -
newstyles项目实战(六)框架整合测试
在测试之前,我们还需要添加一些静态资源,虽然现在和测试的内容关系不大,但是其对于项目以后的页面显示有很大的作用,建立的jsp,样式表css和一些js代码都做伪静态资源放置到src/main/java/webapp/WEB-INF/文件夹下面,分别简建立三个文件夹分别盛放js代码,css资源和jsp页面。 对于测试,采用一个简单的查询测试,比如根据商品id查询商品信息。跟据商品id查询原创 2018-03-09 21:23:50 · 265 阅读 · 0 评论 -
newstyles项目实战(九)图片的上传功能实现(一)
图片保存位置分析:关于上传图片我们考虑以下几个问题?1.我们的图片放置到那个位置,第二个,我们图片怎么处理?我们怎么上传?传统项目中,可以在web项目中添加一个文件夹,来存放上传的图片。例如在工程的根目录WebRoot下创建一个images文件夹。把图片存放在此文件夹中就可以直接使用在工程中引用。优点:引用方便,便于管理缺点:1、如果是分布式环境图片引用会出现问题。原创 2018-03-18 17:37:10 · 240 阅读 · 0 评论 -
newstyles项目实战(十五)商品类目展示
我们已经建立好了所需要的工程,所以,我们来梳理下我们的业务的流程,首先会通过浏览器去请求响应的页面,index.html,这个一部表面上是有protal工程实现完成,但是实际上我们是攻过门户工程请求的rest工程发布的服务来完成的,所以应该首先了解一下我们的整个的请求工程;这以后其实浏览器会调用Ajacx服务查询商品的分类列表,返回json数据(由rest调用服务得到)。 1.主体原创 2018-04-07 15:24:50 · 343 阅读 · 0 评论 -
newstyles项目实战(九)图片的上传功能实现(二)
接着上一节,我哦们分析一下对应的jsp页面可以发现,其请求的路径为/pic/uplaod/所以,我们可以联想到,我们的SpringMVC中的映射请求的页面的控制器与这个路径有关,我们在下面的定义中可以发现:它与NESTYLES定义有关,并且了解到,其定义在commons.js中,所以,查看可以找到NEWSTYLES的定义:可以发现,确实其请求路径为/pic/upload。对原创 2018-03-21 00:02:02 · 274 阅读 · 0 评论 -
newstyles项目实战(十)富文本编辑器的使用及商品添加功能实现
富文本编辑器的使用: 对于富文本编辑器的使用,首先应该包含其对应的js代码,也需要将其相应的资源放置到webapp项目中,把它放置到建好的js目录中: 在需要使用富文本编辑器的jsp页面中添加对其引用: 查看,我们得到需要创建一个textarea标签,并初始化富文本编辑器:可以看到其可见性为Hidden,并且也可以知道,此位置的id为desc,原创 2018-03-26 22:37:29 · 1976 阅读 · 0 评论 -
newstyles项目实战(二十一)Solr搜索功能实现之Solr安装
什么是Solr?Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。 Solr可以独立运行,运行在Jetty、Tomcat等这些Servlet容器中,Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述 Field ...原创 2018-06-10 09:58:05 · 395 阅读 · 0 评论