使用AngularJS和SPRING插入数据库

时间:2015-12-10 12:57:43

标签: java angularjs spring hibernate spring-mvc

我是AngularJS的新手,我试图弄清楚如何从我的SPRING控制器调用一个方法,还是有另一种方法来实现这个目标?

我的app.js看起来像这样:

 //  Define a module
var myApp = angular.module('createWorkshopApp', []);

//  Create controller
myApp.controller('mainController',
        function ($scope, $http) {

            $scope.workshop = {};

            $scope.createWorkshop = function () {
                if ($scope.workshopName == "" || $scope.workshopDescription == "") {
                    alert("Insufficient Data! Please provide values for workshop name and description");
                }
                else {
                    $http({
                        method: 'POST',
                        url: '/create',
                        data: $scope.workshop
                    }).
                            success(function (data, status, headers, config) {
                                // Into database.. ??

                                alert('Workshop saved!');
                            }).
                            error(function (data, status, headers, config) {
                                if (status == 400) {
                                    alert('404');
                                } else {
                                    alert('Unexpected server error.');
                                }

                            });
                }

            };

        });

我的WorkshopController.java看起来像这样:

>  /**
>      *
>      * @param workshop
>      * @param result
>      * @return view of the workshop
>      */
>     @RequestMapping(value = "/workshop/create", method = RequestMethod.POST, headers = "Accept=application/json")
>     public String addWorkshop(@Valid Workshop workshop, BindingResult result) throws ParseException {
>         if (result.hasErrors()) {
>             return BASE_URL + "create";
>         } else {
>             this.workshopService.addWorkshop(workshop);;
>             return "redirect:" + BASE_URL + "view/" + workshop.getId();
>         }
>     }

我还有一个名为workShopService.java的java文件,看起来像这样

@Service
@Transactional
public class WorkshopService {

    @Autowired
    private WorkshopDAO workshopDAO;


    public void addWorkshop(Workshop workshop) {
        workshopDAO.addWorkshop(workshop);
    }

    public Workshop getWorkshop(int id) {
        return workshopDAO.getWorkshop(id);
    }

    public List<Workshop> getWorkshops() {
        return workshopDAO.getWorkshops();
    }

}

我开始使用SPRING(MVC)和HIBERNATE,现在我对Controller的作用感到困惑,因为使用AngularJS你已经创建了一个控制器。

1 个答案:

答案 0 :(得分:1)

在Spring中,您拥有业务逻辑。因此,它负责连接模型和视图,并用于在模型和视图中的类之间进行通信。这个模型是研讨会类,视图是json响应。

在角度应用程序中,您还有一个MVC模式。控制器具有相同的功能(连接模型和视图),但在这种情况下,视图是html,模型是研讨会javascript对象。