创建项目
创建一个新的Spring Boot项目。可以使用Spring Initializr (https://start.spring.io/) 快速创建项目,选择以下依赖:
- Spring Web
- Spring Data JPA
- Thymeleaf (可选,用于前端模板)
- MySQL Driver
假设已经创建好了项目,并且项目目录结构如下:
/outside-order-system
/src/main/java/com/example/outsideordersystem
/controller
/model
/repository
/service
/src/main/resources
application.properties
配置数据库连接
在application.properties
文件中配置数据库连接:
spring.datasource.url=jdbc:mysql://localhost:3306/outside_order?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=password
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
定义实体类
在model
包下定义用户实体类:
package com.example.outsideordersystem.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String password;
// Getters and Setters
}
创建仓库层
在repository
包下创建JpaRepository:
package com.example.outsideordersystem.repository;
import com.example.outsideordersystem.model.User;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Optional;
public interface UserRepository extends JpaRepository<User, Long> {
Optional<User> findByUsername(String username);
}
创建服务层
在service
包下创建服务类:
package com.example.outsideordersystem.service;
import com.example.outsideordersystem.model.User;
import com.example.outsideordersystem.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public User save(User user) {
return userRepository.save(user);
}
public User findByUsername(String username) {
return userRepository.findByUsername(username).orElse(null);
}
}
创建控制器
在controller
包下创建控制器类:
package com.example.outsideordersystem.controller;
import com.example.outsideordersystem.model.User;
import com.example.outsideordersystem.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/register")
public User register(@RequestBody User user) {
return userService.save(user);
}
@PostMapping("/login")
public User login(@RequestBody User user) {
return userService.findByUsername(user.getUsername());
}
}
运行应用程序
最后,在主类上加上@SpringBootApplication
注解,并启动应用程序:
package com.example.outsideordersystem;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class OutsideOrderSystemApplication {
public static void main(String[] args) {
SpringApplication.run(OutsideOrderSystemApplication.class, args);
}
}
这样,就有了一个基本的Spring Boot外卖点餐系统的后端服务。可以通过HTTP客户端工具(如Postman)来测试注册和登录接口的功能。当然,实际应用还需要前端界面的支持以及更复杂的功能,如订单处理、支付等功能。