创建简单的 AngularJS/Spring Boot Web 市场应用程序

在这篇文章中,我们将创建一个简单的电子市场应用程序,使用 AngularJS 作为前端框架和 Spring Boot 作为后端框架。我们的应用程序将允许用户查看产品列表,并能通过 RESTful API 来管理这些产品。

环境准备

首先,你需要安装以下工具: 1. JDK 8 或更高版本 2. Maven 3. Node.js 和 npm 4. 一个合适的 IDE(如 IntelliJ IDEA 或 Visual Studio Code)

后端:Spring Boot 项目

  1. 创建 Spring Boot 项目

可以通过 Spring Initializr 创建一个新的 Spring Boot 项目,选择需要的依赖项:Spring Web 和 Spring Data JPA。

  1. 项目结构

在项目中,我们将创建一个简单的产品模型和控制器。

Product.java(模型):

package com.example.market.model;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Product {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private Double price;

    // getters 和 setters
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }
}

ProductController.java(控制器):

package com.example.market.controller;

import com.example.market.model.Product;
import com.example.market.repository.ProductRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/api/products")
public class ProductController {

    @Autowired
    private ProductRepository productRepository;

    @GetMapping("/")
    public List<Product> getAllProducts() {
        return productRepository.findAll();
    }

    @PostMapping("/")
    public Product createProduct(@RequestBody Product product) {
        return productRepository.save(product);
    }

    // 其他 CRUD 操作可以在这里实现
}

ProductRepository.java(存储库):

package com.example.market.repository;

import com.example.market.model.Product;
import org.springframework.data.jpa.repository.JpaRepository;

public interface ProductRepository extends JpaRepository<Product, Long> {
}
  1. 配置数据库

application.properties 中配置数据库连接(以 H2 数据库为例):

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.h2.console.enabled=true

前端:AngularJS 项目

  1. 创建一个新的 AngularJS 项目

使用 AngularJS 创建一个简单的项目结构。可以使用 Angular CLI 创建新的项目,或手动创建。

  1. 项目结构

确保项目中有一个 index.html 文件和一个主控制器。

index.html

<!DOCTYPE html>
<html ng-app="marketApp">
<head>
    <title>市场应用</title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
    <script src="app.js"></script>
</head>
<body>
    <div ng-controller="ProductController">
        <h1>产品列表</h1>
        <div ng-repeat="product in products">
            <h2>{{ product.name }}</h2>
            <p>价格:{{ product.price }}</p>
        </div>
        <div>
            <h3>添加产品</h3>
            <input type="text" ng-model="newProduct.name" placeholder="产品名称">
            <input type="number" ng-model="newProduct.price" placeholder="产品价格">
            <button ng-click="addProduct()">添加</button>
        </div>
    </div>
</body>
</html>

app.js(AngularJS 控制器):

var app = angular.module('marketApp', []);

app.controller('ProductController', ['$scope', '$http', function($scope, $http) {
    $scope.products = [];
    $scope.newProduct = {};

    $http.get('/api/products/')
        .then(function(response) {
            $scope.products = response.data;
        });

    $scope.addProduct = function() {
        $http.post('/api/products/', $scope.newProduct)
            .then(function(response) {
                $scope.products.push(response.data);
                $scope.newProduct = {}; // 清空输入
            });
    };
}]);

启动应用

  1. 启动 Spring Boot 应用程序
  2. 使用一个简单的 HTTP 服务器或 IDE 内置的服务器打开 AngularJS 项目
  3. 访问你的应用,应该能够查看和添加产品。

结论

通过这个简单的示例,我们展示了如何使用 Spring Boot 作为后端 RESTful API 来处理数据,并使用 AngularJS 作为前端框架来展示这些数据。可以根据需求进一步扩展功能,比如实现搜索、删除和编辑等功能。希望这篇文章能帮助你入门使用 AngularJS 和 Spring Boot 开发现代 Web 应用程序。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部