将AngularJS与SpringMVC一起使用 - 为什么以及如何使用?

时间:2014-08-05 16:54:48

标签: javascript spring angularjs spring-mvc model-view-controller

我是Web开发的新手,最近开始阅读有关AngularJS和SpringMVC以及其他一些框架的内容。据我所知,AngularJS在客户端实现MVC,Spring在服务器端实现MVC。

在另一篇教程中,我读到了使用AngularJS和SpringMVC。这让我有点困惑。

为什么我们需要在客户端已经在服务器端实现MVC模式?

如果spring返回一个视图,那么它是如何传递给AngularJS的?或者当Angular本身有视图呈现时返回视图的必要性是什么?

此外,没有客户端上的所有控制器和服务(AngularJS)导致安全问题,因为存在JavaScript安全漏洞的情况。而且,客户端那些不会加载客户端吗?

我有点困惑。如果我错了,请纠正我。提前谢谢。

1 个答案:

答案 0 :(得分:2)

在之前的工作中,我与AngularJS和Spring进行了广泛的合作。我们将Spring作为后端专门用作RESTful Web应用程序框架。 AngularJS是我们的前端,可以完成所有视图和客户端逻辑。

我不会详细介绍AngularJS如何实现MVC,但AngularJS在他们的网站上提供了非常好的教程,让您可以了解他们的工作方式。

AngularJS是一个很好的选择和一个梦幻般的框架。他们拥有庞大的社区,并在不断改进/重建自己。它们由Google提供支持,是我曾经使用过的最可靠和最有用的框架之一。

至于安全/客户端。您需要使用某种类型的身份验证来保护您的网站。代码缩小也很重要。重要的是要注意客户端比以前快得多。 JavaScript加速器和更好的浏览器使得即使在移动设备上Javascript也非常快。您可以在客户端进行分配,而不会降低用户体验。为后端设计良好的端点也很重要,这将简化您在前端控制器中必须完成的工作。

Here是如何使用角度资源使用RESTful API的一个很好的示例。

Spring实际上在他们的网站上有一个教程,展示如何使用Angular JS使用Spring Web服务。 Here is the link.在教程中,他们展示了如何在没有角度资源的情况下执行此操作,我建议不要明确地遵循它,使用angular-resource允许您将所有API调用集中到一个位置,然后在整个Web应用程序中注入它们如所须。这有助于保持代码更加模块化,并防止在端点分散在数十个文件中时发生的令人讨厌的重构过程。