基于Spring MVC和AngularJS前后端分离的实践

本文主要介绍基于Spring MVC和AngularJS前后端分离的简单实践。
1    为何要前后端分离
1.1    传统web开发存在的问题
(1)前端代码越来越复杂
•    无法统一协作模式,代码充满了约定
•    JS跟CSS,依赖于后端产出的HTML
•    有的数据来自AJAX,有的数据印在DOM上
•    有的业务逻辑在前端,有的在Model层,更多的是在View层
(2)前后端高度耦合
•    前端依赖服务端开发环境
•    在服务端View层高度耦合
•    沟通成本高
•    职责不清晰
(3)无法良好的支持跨终端
•    业务逻辑散落在应用中
•    渲染逻辑强依赖后端页面
•    只能用responsive design硬来
(4)高度耦合的前后端分工
•    沟通成本上升
•    维护成本上升
•    无法正确且快速的响应变化
•    代码的腐烂只是迟早的问题


1.2    前后端分离的优势
•    关注点分离
•    职责分离
•    对的人做对的事
•    更好的共建模式
•    快速的反应变化


1.3    前后端分离的架构
重新定义的前后端:
在服务器(JAVA) 与 浏览器(JS)的中间架了一个中间层(NodeJS)。

职责划分:

2    简单实践
2.1    后端java实现
采用Spring MVC架构,纯java代码,controller层只对外提供Restful API,与前端只进行json数据交互。

示例代码:
使用eclipse建立maven web工程。
(1)    pom.xml
加入spring mvc配置

(2)    spring-config.xml
加入annotation-driven和component-scan属性:

配置Mybatis数据库连接:

(3)java代码实现Restful API
登陆入口controller:

2.2    前端AngularJS实现
(1)    前端路由配置

(2)    前端controller配置

2.3    引入nodejs
目前前端是部署在tomcat上面的,后续考虑引入nodejs作为路由转发器,配置expression插件进行转发。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值