1. 项目规划
- 需求分析:明确项目的功能需求,比如用户注册、登录、数据展示等。
- 确定技术栈:使用Spring Boot作为后端,Vue.js作为前端,MySQL作为数据库。
2. 环境准备
2.1 后端
- 安装JDK:确保安装Java Development Kit (JDK) 8或更高版本。
- 安装Maven:用于管理依赖和构建项目。
- IDE选择:选择合适的IDE,如IntelliJ IDEA或Eclipse。
2.2 前端
- 安装Node.js:确保安装了Node.js。
- 安装Vue CLI:用于创建Vue项目。
npm install -g @vue/cli
3. 创建后端项目(Spring Boot)
3.1 使用Spring Initializr创建项目
- 访问Spring Initializr
- 选择项目配置:
- Project: Maven Project
- Language: Java
- Spring Boot: 选择合适的版本
- Dependencies: 添加Spring Web、Spring Data JPA、MySQL Driver、Spring Security(可选)
- 生成项目并下载。
3.2 配置数据库
- 在
application.properties
中配置MySQL连接:spring.datasource.url=jdbc:mysql://localhost:3306/your_database spring.datasource.username=your_username spring.datasource.password=your_password spring.jpa.hibernate.ddl-auto=update
3.3 创建数据模型
- 创建实体类:例如,用户实体类。
@Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String username; private String password; }
3.4 创建数据访问层
- 创建Repository接口:
public interface UserRepository extends JpaRepository<User, Long> { Optional<User> findByUsername(String username); }
3.5 创建服务层
- 创建服务类处理业务逻辑:
@Service public class UserService { @Autowired private UserRepository userRepository; public User register(User user) { return userRepository.save(user); } }
3.6 创建控制器
- 创建REST API控制器:
@RestController @RequestMapping("/api/users") public class UserController { @Autowired private UserService userService; @PostMapping("/register") public ResponseEntity<User> register(@RequestBody User user) { return ResponseEntity.ok(userService.register(user)); } }
4. 创建前端项目(Vue.js)
4.1 使用Vue CLI创建项目
vue create my-project
cd my-project
选择默认配置或手动配置。
4.2 安装Axios
- 用于与后端API交互:
npm install axios
4.3 创建组件
- 创建用户注册组件:
<template> <form @submit.prevent="register"> <input v-model="username" placeholder="Username" /> <input v-model="password" type="password" placeholder="Password" /> <button type="submit">Register</button> </form> </template> <script> import axios from 'axios'; export default { data() { return { username: '', password: '' }; }, methods: { async register() { const response = await axios.post('/api/users/register', { username: this.username, password: this.password }); console.log(response.data); } } }; </script>
5. 路由配置
- 使用Vue Router配置路由:
import Vue from 'vue';
import Router from 'vue-router';
import Register from './components/Register.vue';
Vue.use(Router);
export default new Router({
routes: [
{ path: '/register', component: Register }
]
});
6. 启动开发服务器
- 后端:在Spring Boot项目根目录下运行:
mvn spring-boot:run
- 前端:在Vue项目根目录下运行:
npm run serve
7. 联调前后端
- CORS配置:在Spring Boot中允许前端请求:
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("http://localhost:8080");
}
}
8. 实现用户身份验证(可选)
- 集成Spring Security:使用JWT或Session管理用户登录状态。
9. 部署
- 后端:将Spring Boot项目打包为JAR文件,部署到服务器。
mvn clean package
- 前端:构建Vue项目并部署到静态文件服务器。
npm run build