1.构建普通maven工程
New→Project→Maven
2.编写父级工程名
3.maven资源的存储位置
5.完成项目后,需要将工程下的src文件夹删掉,然后选择wf-0302工程构建module了模块
6.因为module里存放的时pojo和service,因此我们只需要构建普通工程即可
7.编写公共模块名称
8. 构建提供者provider模块,该模块时springboot的工程,选中wf-0302,new→module
9.和构建提供者provider一样的方式去构建调用者consumer,构建结束后的项目结构如下
10.在common工程中的java文件夹下的com.bcsp.pojo包下构建实体类Dept,该类必须进行实例化
1 package com.bcsp.pojo; 2 3 import java.io.Serializable; 4 /* 5 * 微服工程必须实现序列化 6 */ 7 public class Dept implements Serializable { 8 private Integer deptno; 9 private String dname; 10 private String loc; 11 12 public Dept() { 13 } 14 15 public Dept(Integer deptno, String dname, String loc) { 16 this.deptno = deptno; 17 this.dname = dname; 18 this.loc = loc; 19 } 20 21 public Integer getDeptno() { 22 return deptno; 23 } 24 25 public void setDeptno(Integer deptno) { 26 this.deptno = deptno; 27 } 28 29 public String getDname() { 30 return dname; 31 } 32 33 public void setDname(String dname) { 34 this.dname = dname; 35 } 36 37 public String getLoc() { 38 return loc; 39 } 40 41 public void setLoc(String loc) { 42 this.loc = loc; 43 } 44 45 @Override 46 public String toString() { 47 return "Dept{" + 48 "deptno=" + deptno + 49 ", dname='" + dname + '\'' + 50 ", loc='" + loc + '\'' + 51 '}'; 52 } 53 }Dept.java
11.在common工程中的java文件夹下的com.bcsp.service包下构建接口DeptService,内容如下
package com.bcsp.service; import com.bcsp.pojo.Dept; import java.util.List; public interface DeptService { List<Dept> findDept(Dept dept); Integer addDept(Dept dept); Integer updateDept(Dept dept); Integer deleteDept(Dept dept); }DeptSerivce.java
12.配置provider工程的pom文件,替换掉原来的<dependencies>节点的内容,替换后的pom文件内容如下
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 <parent> 6 <groupId>org.springframework.boot</groupId> 7 <artifactId>spring-boot-starter-parent</artifactId> 8 <version>2.4.3</version> 9 <relativePath/> <!-- lookup parent from repository --> 10 </parent> 11 <groupId>com.bcsp</groupId> 12 <artifactId>provider</artifactId> 13 <version>0.0.1-SNAPSHOT</version> 14 <name>provider</name> 15 <description>Demo project for Spring Boot</description> 16 <properties> 17 <java.version>1.8</java.version> 18 </properties> 19 <dependencies> 20 <!-- https://mvnrepository.com/artifact/com.github.pageHelper/pageHelper-spring-boot-starter --> 21 <dependency> 22 <groupId>com.github.pageHelper</groupId> 23 <artifactId>pageHelper-spring-boot-starter</artifactId> 24 <version>1.2.3</version> 25 </dependency> 26 27 <!--引入公共模块项目--> 28 <dependency> 29 <groupId>com.bcsp</groupId> 30 <artifactId>common</artifactId> 31 <version>1.0-SNAPSHOT</version> 32 </dependency> 33 <!--这是微服dubbo的核心服务包--> 34 <dependency> 35 <groupId>com.alibaba</groupId> 36 <artifactId>dubbo</artifactId> 37 <version>2.5.3</version> 38 <exclusions> 39 <exclusion> 40 <artifactId>spring</artifactId> 41 <groupId>org.springframework</groupId> 42 </exclusion> 43 </exclusions> 44 </dependency> 45 <!--这是zookeeper的服务操作包 但主要这里的版本最好和你的zookeeper版本一致--> 46 <dependency> 47 <groupId>org.apache.zookeeper</groupId> 48 <artifactId>zookeeper</artifactId> 49 <version>3.4.6</version> 50 <exclusions> 51 <exclusion> 52 <artifactId>slf4j-log4j12</artifactId> 53 <groupId>org.slf4j</groupId> 54 </exclusion> 55 </exclusions> 56 </dependency> 57 <!--这里是zookeeper的zkCli的操作包 我们读写服务全靠这个包--> 58 <dependency> 59 <groupId>com.github.sgroschupf</groupId> 60 <artifactId>zkclient</artifactId> 61 <version>0.1</version> 62 </dependency> 63 64 65 <dependency> 66 <groupId>org.springframework.boot</groupId> 67 <artifactId>spring-boot-starter-jdbc</artifactId> 68 </dependency> 69 <dependency> 70 <groupId>org.springframework.boot</groupId> 71 <artifactId>spring-boot-starter-web</artifactId> 72 </dependency> 73 <dependency> 74 <groupId>org.mybatis.spring.boot</groupId> 75 <artifactId>mybatis-spring-boot-starter</artifactId> 76 <version>1.3.2</version> 77 </dependency> 78 79 <dependency> 80 <groupId>MysqL</groupId> 81 <artifactId>mysql-connector-java</artifactId> 82 <version>5.1.38</version> 83 </dependency> 84 <dependency> 85 <groupId>org.springframework.boot</groupId> 86 <artifactId>spring-boot-starter-test</artifactId> 87 <scope>test</scope> 88 </dependency> 89 </dependencies> 90 91 <build> 92 <plugins> 93 <plugin> 94 <groupId>org.springframework.boot</groupId> 95 <artifactId>spring-boot-maven-plugin</artifactId> 96 </plugin> 97 </plugins> 98 </build> 99 100 </project>pom.xml
13.编写在provider工程的java文件夹下的com.bcsp.mapper的包下,编写DeptMapper.java数据访问层接口,内容如下:
1 package com.bcsp.mapper; 2 3 import com.bcsp.pojo.Dept; 4 import org.apache.ibatis.annotations.Delete; 5 import org.apache.ibatis.annotations.Insert; 6 import org.apache.ibatis.annotations.Select; 7 import org.apache.ibatis.annotations.Update; 8 9 import java.util.List; 10 11 public interface DeptMapper { 12 @Select("<script>" + 13 " select * from dept where 1=1" + 14 " <if test='dname!=null'>" + 15 " and dname=#{dname}" + 16 " </if>" + 17 " <if test='deptno!=null'>" + 18 " and deptno=#{deptno}" + 19 " </if>" + 20 "</script>") 21 List<Dept> selectDept(Dept dept); 22 23 @Insert("insert into dept(dname,loc) values(#{dname},#{loc})") 24 Integer insertDept(Dept dept); 25 26 @Update("update dept set dname=#{dname},loc=#{loc} where deptno=#{deptno}") 27 Integer updateDept(Dept dept); 28 29 @Delete("delete from dept where deptno=#{deptno}") 30 Integer deleteDept(Dept dept); 31 }DeptMapper.java
14.编写在provider工程的java文件夹下的com.bcsp.service的包下,编写DeptServiceImpl.java业务层接口的实现类,内容如下:
1 package com.bcsp.service; 2 import com.bcsp.mapper.DeptMapper; 3 import com.bcsp.pojo.Dept; 4 import org.springframework.beans.factory.annotation.Autowired; 5 import org.springframework.stereotype.Service; 6 import org.springframework.transaction.annotation.Transactional; 7 8 import java.util.List; 9 @Service 10 @Transactional 11 public class DeptServiceImpl implements DeptService { 12 @Autowired 13 private DeptMapper deptMapper; 14 15 @Override 16 public List<Dept> findDept(Dept dept) { 17 return deptMapper.selectDept(dept); 18 } 19 20 @Override 21 public Integer addDept(Dept dept) { 22 return deptMapper.insertDept(dept); 23 } 24 25 @Override 26 public Integer updateDept(Dept dept) { 27 return deptMapper.updateDept(dept); 28 } 29 30 @Override 31 public Integer deleteDept(Dept dept) { 32 return deptMapper.deleteDept(dept); 33 } 34 }DeptServiceImpl.java
15.编写在provider工程的resouces文件夹下的application.properties的内容:
1 server.port=9090 2 3 spring.datasource.driver-class-name=com.MysqL.jdbc.Driver 4 spring.datasource.url=jdbc:MysqL://localhost:3306/kgc 5 spring.datasource.username=root 6 spring.datasource.password=ok 7 8 mybatis.type-aliases-package=com.bcsp.pojo 9 10 pageHelper.helper-dialect=MysqLapplication.properties
16.编写在provider工程的resouces文件夹下的spring-provider.xml的内容:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" 5 xsi:schemaLocation="http://www.springframework.org/schema/beans 6 http://www.springframework.org/schema/beans/spring-beans.xsd 7 http://code.alibabatech.com/schema/dubbo 8 http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> 9 10 <!-- 提供方应用信息,用于计算依赖关系 --> 11 <dubbo:application name="myprovider" /> 12 13 <!-- 使用zookeeper注册中心暴露服务地址,我的zookeeper是架在本地的 --> 14 <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" timeout="60000"/> 15 16 <!-- 用dubbo协议在20880端口暴露服务 --> 17 <dubbo:protocol name="dubbo" port="20880" /> 18 19 <!-- 用户服务接口 --> 20 <dubbo:service interface="com.bcsp.service.DeptService" ref="deptService"/> 21 <bean id="deptService" class="com.bcsp.service.DeptServiceImpl"/> 22 23 </beans>spring-provider.xml
17.编辑在provider工程的项目首启项的ProviderApplication.java的内容:
1 package com.bcsp; 2 3 import org.mybatis.spring.annotation.MapperScan; 4 import org.springframework.boot.SpringApplication; 5 import org.springframework.boot.autoconfigure.SpringBootApplication; 6 import org.springframework.context.annotation.ImportResource; 7 8 @MapperScan("com.bcsp.mapper") 9 @ImportResource("classpath:spring-provider.xml") 10 @SpringBootApplication 11 public class ProviderApplication { 12 13 public static void main(String[] args) { 14 SpringApplication.run(ProviderApplication.class, args); 15 } 16 17 }ProviderApplication.java
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。