Quelle est la meilleure approche pour Java, Spring et Angularjs web-app?


Je veux développer une application Web en utilisant les technologies suivantes: Maven, Java, Hibernate, Spring ( core, mvc, security, data), Bootstrap 3, AngularJS. Je me demande quelle est la meilleure approche entre les deux. Ma question porte sur la façon d'organiser la partie Web. J'ai beaucoup de page html dans mon application ( page d'accueil.html, de connexion.html, usermanagement.html, profil.hml, projet.html):

1.Je veux utiliser une vraie application d'une seule page où. J'ai un fichier principal avec la balise ng-view et j'utilise un routeProvider pour passer aux partiels. Par exemple, je pourrais écrire le code suivant

    myApp.config(['$routeProvider',
      function($routeProvider) {
        $routeProvider.
          when('/', {
            templateUrl: 'partials/homepage.html',
            controller: 'HomeCtrl'
          }).
          when('/login/', {
            templateUrl: 'partials/login.html',
            controller: 'LoginCtrl'
          }).
          otherwise({
            redirectTo: '/'
          });

  }]);
  1. La deuxième option que j'ai est de faire plusieurs applications d'une seule page. Dans ce cas, chaque page sera rendue en utilisant spring mvc. Dans chaque page, j'aurai un contrôleur angularjs. Par exemple, le contrôleur Spring MVC suivant affiche la page d'accueil.

    @Contrôleur @RequestMapping( "/" ) classe publique HomePageController{

    @RequestMapping( method = RequestMethod.GET )
    public String index() {
    
        return "homepage";
    }
    

    }

Pour le page d'accueil, j'aurai la configuration comme:

 myhomePageApp.config(['$routeProvider',
          function($routeProvider) {
            $routeProvider.
              when('/', {
                templateUrl: 'nothing to display',
                controller: 'HomeCtrl'
              }).
              when('/contact/', {
                // display contact info in a div on home page
                templateUrl: 'partials/contact.html', 
                controller: 'LoginCtrl'
              }).
              otherwise({
                redirectTo: '/'
              });

      }]);

Sa page sera donc une application à une seule page. Merci pour la lecture et pour vos suggestions.

Author: Pracede, 2014-10-07

1 answers

Pour votre pile proposée, envisagez une division conceptuelle de votre application Web en un back-end Java, Hibernate, Spring et un front-end AngularJS, Bootstrap.

De cette façon, vous pouvez utiliser quelque chose comme Spring Boot pour vous aider à configurer le back-end. Cela créera un projet Maven pour vous avec toutes les dépendances et une bonne mise en page du projet.

Vous pouvez ensuite utiliser l'un des outils d'échafaudage frontal disponibles pour créer l'application AngularJS. Yeoman est un bon outil pour commencez avec AngularJS et Bootstrap. Il crée également un fichier de construction Grunt qui automatise le processus de construction pour vous.

Vous devez ensuite uniquement implémenter des points de terminaison de service dans votre back-end et créer l'interface utilisateur entière dans l'application front-end. Vous pouvez ensuite utiliser Maven/Grunt pour combiner ces deux en une seule application déployable, ou même décider de les héberger séparément.

 0
Author: jhkuperus, 2014-10-07 09:22:02