|
顶级技术 |
技术说明 |
|
Nginx+Tomcat集群 |
负载均衡,极大提升系统的并发访问能力 |
|
Amoeba+Mysql主从 |
实现数据库实时备份和读写分离,提升数据的安全性和查询性能 |
|
Redis缓存 |
极大提升系统的查询性能,减轻对数据库的访问压力 |
|
SSO单点登录 |
httpclient实现权限独立控制解决分布式集群下session共享 |
|
Dubbox购物车、订单 |
微服务方式实现购物车系统和订单系统 |
|
RabbitMQ消息队列 |
实现架构送耦合,极大提升系统的并发能力 |
|
Lucene+Solr |
解决海量数据亿级别的快速查询问题 |
|
Docker部署 |
从VM虚拟机升级为Docker容器,提高部署开发效率 |
序号 |
知识点 |
重要程度 |
难度系数 |
掌握程度 |
|
业务:商品分类、商品、前台、权限单点登录、购物车、订单、商品全文检索 |
★★★★★ |
1 |
熟练 |
|
Spring、SpringMVC、MyBatis主流框架 |
★★★ |
1 |
熟练 |
|
富客户端EasyUI、KindEditor图文控件 |
★ |
1 |
会用 |
|
Maven 一键构建继承和聚合 |
★★ |
1 |
熟练 |
|
PowerDesinger表设计及优化 |
★★★★ |
3 |
会用 |
|
通用Mapper插件,自动生成调用代码 |
★ |
1 |
会用 |
|
Nginx 负载均衡 |
★★★★★ |
1 |
精通 |
|
Tomcat集群 |
★★★ |
1 |
熟练 |
|
RESTFul 访问方式 |
★★★★★ |
1 |
熟练 |
|
HttpClient系统间调用 |
★★ |
1 |
熟练 |
|
Redis 缓存服务器,分片,哨兵,集群高可用 |
★★★★★ |
1 |
精通 |
|
RabbitMQ 消息队列 |
★★★ |
3 |
熟练 |
|
MySQL主从复制,Amoeba读写分离 |
★★★★★ |
2 |
精通 |
|
Lucene、Solr搜索 |
★★★★ |
3 |
熟练 |
|
Linux/CentOS 操作系统 |
★★★ |
1 |
熟练 |
思考:
序号 |
知识点 |
类型 |
难度系数 |
掌握程度 |
|
系统架构图 |
画图 |
3 |
熟练 |
|
Maven的继承和聚合 |
论述 |
1 |
熟练 |
|
业务的纵向切分和水平切分 |
论述 |
3 |
熟练 |
|
BaseService在common包下,事务是配置的com.jt.manage.service。这样会造成BaseService中的方法没有事务吗? |
论述 |
1 |
熟练 |
|
通用Mapper+JPA怎么就实现了无需写SQL,而自动产生SQL语句的? |
论述 |
1 |
熟练 |
知识点:
序号 |
知识点 |
类型 |
难度系数 |
掌握程度 |
|
京淘项目背景 |
论述 |
1 |
熟练 |
|
SSM架构 |
技术 |
1 |
熟练 |
|
通用Mapper及其工作原理 |
论述 |
1 |
了解 |
|
JPA概念作用 |
论述 |
1 |
了解 |
|
Maven继承和聚合 |
技术 |
3 |
熟练 |
|
创建各项目框架和jt-manage后台项目 |
技术 |
3 |
熟练 |
|
京淘继承、聚合实现 |
技术 |
1 |
熟练 |
整个工程分为8个工程,细分为26个子工程。
序号 |
项目名称 |
各子系统 |
业务子系统 |
||
1 |
jt-web |
前台商城系统:用户可以访问商城首界面,查看不同分类下的商品,浏览商品的详细信息,并可以查询商品,将商品加入购物车,最终提交订单,还包括用户注册和登录。 |
2 |
jt-manage |
后台管理系统:商品分类管理、商品信息管理、商品规格属性、注册用户管理以及CMS内容发布管理等功能。 包括:jt-manage-mapper/pojo/service/web四个子项目 |
3 |
jt-cart |
购物车系统:未登录商品选择,登录商品选择,修改商品数量,计算支付金额,下单提交到订单系统。 |
4 |
jt-order |
订单系统:提供下单、查询订单、修改订单状态、定时处理订单。 |
5 |
jt-search |
搜索系统:提供商品的搜索功能。 |
支撑子系统 |
||
6 |
jt-parent |
jar包依赖管理 |
7 |
jt-common |
公用工具类 |
8 |
jt-sso |
单点登录系统:为多个系统之间提供用户登录凭证以及查询登录用户的信息。 |
Maven垂直切分
Maven水平切分
依赖关系
利用依赖的传递性简化
配置maven
安装installations
UserSettings配置(maven)
创建项目组jt
创建项目组,可将多个项目放在一个项目组中。配置如下图:
新建项目组如下图所示:
起名为jt京淘,如下图所示:
创建maven java父工程:jt-parent
子模块的POM继承这些配置:子模块继承这些配置的时候,仍然要声明groupId和artifactId,表示当前配置是继承于父POM的,从而直接使用父POM的版本对应的资源。
选择组建立maven java工程,如下图所示:
项目创建完成,但项目报错,更新下工程就可以。
pom.xml文件代码如下:
4.0.0
com.jt.parent
jt-parent
0.0.1-SNAPSHOT
pom
jt-parent
http://maven.apache.org
4.10
4.1.3.RELEASE
3.2.8
1.2.2
1.2.15
5.1.32
0.8.0.RELEASE
1.0.9
2.3.2
3.4.2
0.9.1
1.6.4
1.2
2.5
2.0
2.5
3.3.2
2.4
1.3.1
2.4.2
4.3.5
2.6.0
junit
junit
${junit.version}
test
org.springframework
spring-context
${spring.version}
org.springframework
spring-beans
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-aspects
${spring.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
${mybatis.spring.version}
com.github.miemiedev
mybatis-paginator
${mybatis.paginator.version}
mysql
mysql-connector-java
${mysql.version}
com.github.abel533
mapper
${mapper.version}
com.github.pagehelper
pagehelper
${pagehelper.version}
com.github.jsqlparser
jsqlparser
${jsqlparser.version}
com.jolbox
bonecp-spring
${bonecp-spring.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
com.fasterxml.jackson.core
jackson-databind
${jackson.version}
org.apache.httpcomponents
httpclient
${httpclient.version}
org.apache.httpcomponents
httpmime
4.3.1
jstl
jstl
${jstl.version}
javax.servlet
servlet-api
${servlet-api.version}
provided
javax.servlet
jsp-api
${jsp-api.version}
provided
joda-time
joda-time
${joda-time.version}
org.apache.commons
commons-lang3
${commons-lang3.version}
org.apache.commons
commons-io
${commons-io.version}
commons-fileupload
commons-fileupload
${commons-fileupload.version}
redis.clients
jedis
${jedis.version}
commons-codec
commons-codec
1.9
org.hibernate
hibernate-validator
5.1.3.Final
${project.artifactId}
org.apache.maven.plugins
maven-resources-plugin
2.7
UTF-8
org.apache.maven.plugins
maven-compiler-plugin
3.2
1.7
UTF-8