能否给出一个使用bean的示例,前后端分离的
时间: 2024-10-18 12:23:46 浏览: 14
shiro整合springboot前后端分离
在前后端分离的场景下,Spring MVC可以作为一个服务端框架,提供RESTful API,而前端通常是JavaScript库(如React、Vue)构建的应用。在这种架构中,我们可以使用`@Bean`来创建并管理API服务提供者(如Controller),以及数据访问层(如Repository)的bean。
例如,假设我们有一个简单的用户信息资源(UserResource)的Controller:
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
private final UserRepository userRepository;
// 使用@Autowired注入UserRepository bean
@Autowired
public UserController(UserRepository userRepository) {
this.userRepository = userRepository;
}
// 示例:获取所有用户
@GetMapping("/users")
public List<User> getUsers() {
return userRepository.findAll(); // 假设UserRepository暴露了查询所有用户的接口
}
}
```
在这个例子中,`UserRepository`也是一个`@Bean`创建的,可能来自另一个@Service类:
```java
import org.springframework.jdbc.core.JdbcTemplate; // 假设使用JDBC
@Service
public class UserRepository {
private JdbcTemplate jdbcTemplate;
@Autowired
public UserRepository(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public List<User> findAll() {
// 使用JdbcTemplate查询数据库
return jdbcTemplate.query("SELECT * FROM users", rs -> { ... });
}
}
```
这样,前端通过向`/users`发送GET请求就可以获取到用户列表了。
阅读全文