下面我来详细讲解“IDEA教程创建SpringBoot前后端分离项目示例图解”的完整攻略。
简介
首先,让我们来了解一下前后端分离项目的概念。前后端分离是指将前端和后端代码分别开发,并通过API进行数据交互的一种开发方式。它可以有效提高开发效率和代码可维护性,并且使得前后端团队的分工更加明确。
在本教程中,我们将使用IntelliJ IDEA来创建一个前后端分离的SpringBoot项目,并使用Vue.js来实现前端页面。
创建SpringBoot项目
-
打开IntelliJ IDEA,选择File -> New -> Project。在弹出的窗口中选择Spring Initializr,并点击Next。
-
在下一个窗口中选择需要添加的依赖。在本示例中,我们需要添加Web、JPA和MySQL依赖。添加完毕后,点击Next。
-
在接下来的窗口中,输入项目的名称,并选择项目存储位置。点击Finish,等待项目创建完毕。
配置MySQL数据库
-
打开MySQL Workbench,创建一个名为“demo”的数据库。
-
回到IntelliJ IDEA,打开application.properties文件,添加以下代码:
spring.datasource.url=jdbc:mysql://localhost:3306/demo?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
说明:以上代码指定了MySQL数据库的连接信息,包括数据库的地址、端口、名称、用户名和密码。
添加实体类
-
在src/main/java目录下,创建一个名为“com.example.demo.model”的包。
-
在该包下创建一个名为“User”的Java类,代码如下:
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "email")
private String email;
// constructor、getter、setter
}
说明:以上代码定义了一个名为User的实体类,包括id、name和email三个属性。其中@Id和@GeneratedValue注解指定了该实体类的主键和主键生成策略,@Column注解指定了每个属性对应的数据库字段。
添加Controller类
-
在src/main/java目录下,创建一个名为“com.example.demo.controller”的包。
-
在该包下创建一个名为“UserController”的Java类,代码如下:
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserRepository userRepository;
@GetMapping("/")
public List<User> getUsers() {
return userRepository.findAll();
}
@PostMapping("/")
public User createUser(@RequestBody User user) {
return userRepository.save(user);
}
}
说明:以上代码定义了一个名为UserController的控制器类,包括两个接口:/user/(GET请求,用于获取所有用户)和/user/(POST请求,用于创建新用户)。其中@Autowired注解指定了该类需要使用UserRepository对象,@GetMapping和@PostMapping注解分别指定了两个接口的请求方式和路径,@RequestBody注解指定了POST请求接口需要接受一个User类型的对象作为参数,@RestController注解指定了该类为一个REST风格的控制器。
添加前端页面
- 在IntelliJ IDEA中打开Terminal,进入项目根目录,并执行以下命令:
vue create webapp
- 进入webapp目录,执行以下命令:
npm run serve
-
打开浏览器,访问http://localhost:8080,可以看到Vue.js默认的欢迎页面。
-
修改webapp/src/main.js文件,添加以下代码:
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.config.productionTip = false
Vue.use(ElementUI);
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
说明:以上代码指定了我们使用ElementUI作为前端UI组件库。
- 修改webapp/src/components/HelloWorld.vue文件,添加以下代码:
<template>
<div class="hello">
<h1>{{ msg }}</h1>
<el-table :data="users" style="width: 100%">
<el-table-column prop="id" label="ID"></el-table-column>
<el-table-column prop="name" label="Name"></el-table-column>
<el-table-column prop="email" label="Email"></el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {
msg: 'Welcome to Your Vue.js App',
users: []
}
},
mounted() {
this.getUsers();
},
methods: {
getUsers() {
var that = this;
fetch('/user/')
.then(function(response) {
return response.json()
}).then(function(data) {
console.log(data)
that.users = data
})
}
},
}
</script>
说明:以上代码定义了一个名为HelloWorld的Vue组件。在该组件中,我们使用了ElementUI提供的一个表格组件,并通过fetch方法获取到了后端的用户数据,并展示到了表格中。
示例
接下来,我们通过两个简单的示例来演示如何使用本教程创建一个前后端分离的SpringBoot项目。
示例一:创建一个新用户
- 打开Postman,创建一个POST请求,请求地址为http://localhost:8080/user/。在请求的Body中添加以下JSON数据:
{
"name": "张三",
"email": "zhangsan@example.com"
}
- 点击Send,可以看到请求成功,并返回新增用户的JSON数据。
示例二:获取所有用户
-
打开浏览器,访问http://localhost:8080,可以看到Vue.js默认的欢迎页面。
-
点击页面右上角的“用户列表”按钮,可以看到页面上展示了所有用户的信息,包括id、name和email。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:IDEA教程创建SpringBoot前后端分离项目示例图解 - Python技术站