本文目录导读:
图片来源于网络,如有侵权联系删除
随着互联网的快速发展,传统的单体架构已经无法满足日益增长的业务需求,微服务架构作为一种新型的架构风格,逐渐成为主流,Spring Cloud作为微服务框架,提供了丰富的组件和工具,帮助开发者轻松实现微服务架构,本文将详细介绍如何在Spring Cloud微服务架构下实现增删改查、模糊查询和分页功能。
项目搭建
1、创建Spring Boot项目
使用Spring Initializr创建一个Spring Boot项目,添加依赖如下:
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> </dependencies>
2、配置文件
图片来源于网络,如有侵权联系删除
在application.properties
中配置数据库连接信息、Eureka注册中心和配置中心相关信息:
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/ spring.cloud.config.uri=http://localhost:8700
3、创建实体类
@Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String email; private Integer age; // getter和setter方法 }
4、创建数据访问接口
public interface UserRepository extends JpaRepository<User, Long> { }
5、创建服务层
图片来源于网络,如有侵权联系删除
@Service public class UserService { @Autowired private UserRepository userRepository; public List<User> findAll() { return userRepository.findAll(); } public User save(User user) { return userRepository.save(user); } public void deleteById(Long id) { userRepository.deleteById(id); } public Page<User> search(String keyword, int page, int size) { Pageable pageable = PageRequest.of(page, size); return userRepository.findAll(Specification.where(nameLike(keyword)).or(emailLike(keyword)), pageable); } private Specification<User> nameLike(String keyword) { return (root, query, criteriaBuilder) -> criteriaBuilder.like(root.get("name"), "%" + keyword + "%"); } private Specification<User> emailLike(String keyword) { return (root, query, criteriaBuilder) -> criteriaBuilder.like(root.get("email"), "%" + keyword + "%"); } }
6、创建控制器
@RestController @RequestMapping("/users") public class UserController { @Autowired private UserService userService; @GetMapping public List<User> findAll() { return userService.findAll(); } @PostMapping public User save(@RequestBody User user) { return userService.save(user); } @DeleteMapping("/{id}") public void deleteById(@PathVariable Long id) { userService.deleteById(id); } @GetMapping("/search") public Page<User> search(@RequestParam("keyword") String keyword, @RequestParam("page") int page, @RequestParam("size") int size) { return userService.search(keyword, page, size); } }
本文详细介绍了在Spring Cloud微服务架构下实现增删改查、模糊查询和分页功能的方法,通过使用Spring Boot、Spring Data JPA、Eureka和配置中心等组件,我们可以轻松实现一个功能完善的微服务应用,在实际开发过程中,可以根据项目需求对代码进行优化和扩展。
标签: #微服务架构springcloud
评论列表