angularjs - Spring + Hibernate + Angular + Maven + Tomcat 项目文件夹结构问题

标签 angularjs spring hibernate maven tomcat

好的,所以我一整天都在努力解决这个问题。我的老板给我分配了一项新任务:采用此模板:https://github.com/DavidKk/ngAdmin ,弄清楚 AngularJS 是如何工作的,弄清楚 Spring 如何工作,Hibernate 如何工作,Maven 如何进行项目构建、测试等,在 MySQL 数据库的模板中实现一个基本的 CRUD 示例,在 Tomcat 上部署。

所以,首先,这是一次所有的事情,我从未使用过的东西,可能是 Hibernate 和 JPA,他希望在本周末之前解决所有这些问题,当我们与客户更多地讨论项目时,我们可以告诉他我们将在开发过程中采用什么方法。

我看了一下 Spring,使用了 Spring Initializr:https://start.spring.io/做一个基础工程,用jar命令工具打了个WAR文件,部署到tomcat上,成功了。我已经使用了这两个,因为 IntelliJ Community 没有实现这些,除非您为终极版付费。

我看了一下这个 CRUD 示例:http://www.concretepage.com/spring-4/spring-mvc-4-rest-angularjs-hibernate-4-integration-crud-tutorial-with-ngresource-example ,并让它工作,并了解 Spring 如何使用依赖注入(inject),Hibernate 如何将对象持久保存到数据库中,以及 AngularJS 如何提供我的客户所要求的单页布局。

现在,我的问题是,这个模板有一个完全不同的目录结构,如果我四处移动文件,什么都不会起作用。从头开始一切都不是一种选择,我们采用前端模板,稍微修改一下,为客户端和服务器开发后端的东西。我不明白的是我怎么能将它与具有完全不同目录结构的 Spring 或 Tomcat 一起使用,后者也需要不同的东西,否则它会抛出 404。据我所见,这个项目有是用 Grunt 构建的,所以我不知道是否有任何方法可以从 Grunt 转到 Maven,并且让它仍然有效。我真的不知道该做什么,我必须在本周末之前完成它。任何帮助将不胜感激,谢谢。

最佳答案

您显示的模板仅用于前端。

使用 spring 初始化器创建一个项目。

您将拥有 {directory}/src/main/java 和其他内容。 创建{目录}/client/ 将 ngAdmin 内容放入其中。

ngAdmin 使用grunt 构建客户端,并在dest 目录下生成站点。这将是 {directory}/client/dest/

配置 maven-frontend-plugin 以在使用 maven 构建时安装 js 东西并运行 grunt。

添加maven-resource-plugin配置,从{directory}/client/dest/复制到${project.build.directory}/client

配置maven war插件来包含这个目录

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <attachClasses>true</attachClasses>
        <webResources>
            <resource>
                <directory>${project.build.directory}/client</directory>
            </resource>
        </webResources>
    </configuration>
</plugin>

这样,当你构建 war 时,客户端应该在其中(解压 war 并检查)

然后你会有一些配置来告诉 spring-mvc 在哪里可以找到这些,但我手头没有。

希望这对您有所帮助。

关于angularjs - Spring + Hibernate + Angular + Maven + Tomcat 项目文件夹结构问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44686149/

相关文章:

java - 在 spring 服务类中使用 ConcurentHashMap 和 AtomicInteger 作为实例变量

spring - 将 @Query 切换到 nativeQuery 会导致 PropertyReferenceException

java - 获取入院日期在一定范围内的记录

javascript - AngularJS - 为什么 Controller 不工作?

angularjs - 如何在onsenui中使用多个html文件

javascript - 在 Controller 中获取 ngModel 值 - AngularJS?

java - Hibernate事务超时事件

AngularJS - 使用 jQuery 参数格式化资源 GET 动词查询字符串

java - 尝试使用 ng-file-upload 在 Spring 中上传许多文件时出现空 List<MultipartFile>

java - 通过不同属性引用同一个表的 Hibernate JOIN FETCH 导致 1+N 查询?