创建springboot前后端分离的代码
时间: 2023-07-23 19:16:20 浏览: 92
springboot实现前后端分离项目
这里提供一个简单的示例,演示如何使用Spring Boot创建前后端分离的代码。
首先,我们需要创建一个Spring Boot项目。在创建项目时,我们需要选择Web、JPA、MySQL等相关依赖。
接下来,在我们的项目中创建以下文件夹和文件:
```
/src/main/java
/com.example.demo
/controller
- MainController.java
/entity
- User.java
/repository
- UserRepository.java
/service
- UserService.java
/src/main/resources
- application.properties
/static
/js
- main.js
/templates
- index.html
```
在`MainController`类中,我们需要定义一些RESTful API以供前端调用。这里只提供一个简单的示例:
```java
@RestController
public class MainController {
@Autowired
private UserService userService;
@PostMapping("/users")
public User createUser(@RequestBody User user) {
return userService.createUser(user);
}
@GetMapping("/users")
public List<User> getUsers() {
return userService.getUsers();
}
}
```
在`User`类中,我们定义了一个简单的用户实体类:
```java
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
// getters and setters
}
```
在`UserRepository`类中,我们定义了一个简单的JPA Repository:
```java
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
```
在`UserService`类中,我们定义了一些简单的业务逻辑:
```java
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public User createUser(User user) {
return userRepository.save(user);
}
public List<User> getUsers() {
return userRepository.findAll();
}
}
```
在`index.html`中,我们定义了一个简单的前端页面:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Spring Boot + Vue.js Example</title>
<script src="/js/main.js"></script>
</head>
<body>
<div id="app">
<h1>Users:</h1>
<ul>
<li v-for="user in users">{{ user.name }}</li>
</ul>
<form @submit.prevent="createUser">
<input type="text" v-model="name">
<button type="submit">Create User</button>
</form>
</div>
</body>
</html>
```
在`main.js`中,我们定义了一些简单的Vue.js代码:
```javascript
new Vue({
el: '#app',
data: {
users: [],
name: ''
},
mounted: function() {
this.loadUsers();
},
methods: {
loadUsers: function() {
axios.get('/users').then(response => {
this.users = response.data;
});
},
createUser: function() {
axios.post('/users', {
name: this.name
}).then(response => {
this.users.push(response.data);
this.name = '';
});
}
}
});
```
最后,在`application.properties`中,我们需要设置一些数据库连接信息:
```
spring.datasource.url=jdbc:mysql://localhost:3306/demo?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
```
这样,我们就完成了一个简单的Spring Boot + Vue.js的前后端分离示例。
阅读全文