安装Node.js:确保安装了Node.js。
安装Vue CLI:用于创建Vue项目。
npm install -g @vue/cli在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创建实体类:例如,用户实体类。
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String password;
}创建Repository接口:
public interface UserRepository extends JpaRepository<User, Long> {
Optional<User> findByUsername(String username);
}创建服务类处理业务逻辑:
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public User register(User user) {
return userRepository.save(user);
}
}创建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));
}
}vue create my-project
cd my-project选择默认配置或手动配置。
npm install axios创建用户注册组件:
<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>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 }
]
});mvn spring-boot:runnpm run serve@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("http://localhost:8080");
}
}mvn clean packagenpm run build