1.0我们要在这里要建立一个服务的提供者模块,是一个module,类似于服务的公共模块
第一步:添加架包
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.java.springcloud</groupId> <artifactId>microservice</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>microservice-student-provider-1001</artifactId> <dependencies> <dependency> <groupId>com.java.springcloud</groupId> <artifactId>microservice-common</artifactId> <version>${project.version}</version> </dependency> <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>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> </dependency> <!-- 修改后立即生效,热部署 --> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> </dependencies> </project>
第二步:添加配置文件application.yml
server: port: 1001 context-path: / # 数据源配置 spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/db_springcloud?serverTimezone=UTC username: root password: 123456 jpa: hibernate: ddl-auto: update show-sql: true
第三步:编写代码:
数据层
package com.java.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import com.java.entity.Student; /** * 学生的reponsitoty * @author nidegui * @version 2019年5月9日 下午4:16:13 * */ public interface StudentRepository extends JpaRepository<Student, Integer>,JpaSpecificationExecutor<Student>{ }
服务层:
package com.java.service; /** * @author nidegui * @version 2019年5月9日 下午4:18:41 * */ import java.util.List; import com.java.entity.Student; /** * 学生信息Service接口 * @author Administrator * */ public interface StudentService { /** * 添加或者修改学生信息 * @param student */ public void save(Student student); /** * 根据id查找学生信息 * @param id * @return */ public Student findById(Integer id); /** * 查询学生信息 * @return */ public List<Student> list(); /** * 根据id删除学生信息 * @param id */ public void delete(Integer id); }
package com.java.service.impl; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; import com.java.entity.Student; import com.java.repository.StudentRepository; import com.java.service.StudentService; /** * 学生信息Service实现类 * @author * */ @Service("studentService") public class StudentServiceImpl implements StudentService{ @Resource private StudentRepository studentRepository; @Override public void save(Student student) { studentRepository.save(student); } @Override public Student findById(Integer id) { return studentRepository.findOne(id); } @Override public List<Student> list() { return studentRepository.findAll(); } @Override public void delete(Integer id) { studentRepository.delete(id); } }
控制层:
package com.java.controller; import java.util.List; import javax.annotation.Resource; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.java.entity.Student; import com.java.service.StudentService; /** * * @author Administrator * */ @RestController @RequestMapping("/student") public class StudentProviderController { @Resource private StudentService studentService; /** * * @param student * @return */ @PostMapping(value="/save") public boolean save(@RequestBody Student student){ try{ studentService.save(student); return true; }catch(Exception e){ return false; } } /** * * @return */ @GetMapping(value="/list") public List<Student> list(){ return studentService.list(); } /** * * @param id * @return */ @GetMapping(value="/get/{id}") public Student get(@PathVariable("id") Integer id){ return studentService.findById(id); } /** * * @param id * @return */ @GetMapping(value="/delete/{id}") public boolean delete(@PathVariable("id") Integer id){ try{ studentService.delete(id); return true; }catch(Exception e){ return false; } } }