dubbo小项目2
1、項目結構搭建
父項目pom.xml
2、實體類型工程
pom.xml
<?xml version="1.0" encoding="UTF-8"?>-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">-<parent><artifactId>dubbo_cms</artifactId><groupId>com.bjsxt</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>dubbo_cms_pojo</artifactId><version>1.0-SNAPSHOT</version></project>實體類:
3、mapper數據訪問工程
pom.xml
<?xml version="1.0" encoding="UTF-8"?>-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">-<parent><artifactId>dubbo_cms</artifactId><groupId>com.bjsxt</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>dubbo_cms_mapper</artifactId><version>1.0-SNAPSHOT</version>-<dependencies>-<dependency><groupId>com.bjsxt</groupId><artifactId>dubbo_cms_pojo</artifactId><version>1.0-SNAPSHOT</version></dependency>-<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency>-<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency></dependencies></project>com.bjsxt.mapper
resources:
1.application-db.yml
2.com.bjsxt.mapper
4、服務標準工程
1.pom.xml
<?xml version="1.0" encoding="UTF-8"?>-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">-<parent><artifactId>dubbo_cms</artifactId><groupId>com.bjsxt</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>dubbo_cms_serviceapi</artifactId><version>1.0-SNAPSHOT</version>-<dependencies>-<dependency><groupId>com.bjsxt</groupId><artifactId>dubbo_cms_pojo</artifactId><version>1.0-SNAPSHOT</version></dependency></dependencies></project>2.com\bjsxt\cms\serviceapi
package com.bjsxt.cms.serviceapi;import com.bjsxt.pojo.CmsType;import java.util.List;/*** 服務接口。代表dubbo遠程訪問的標準*/ public interface CmsTypeServiceAPI {// 新增數據int save(CmsType type);// 根據主鍵更新數據int modify(CmsType type);// 查詢所有List<CmsType> findAll(); }5、provider服務提供者實現
1.pom.xml
<?xml version="1.0" encoding="UTF-8"?>-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">-<parent><artifactId>dubbo_cms</artifactId><groupId>com.bjsxt</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>dubbo_cms_provider</artifactId><version>1.0-SNAPSHOT</version>-<dependencies>-<dependency><groupId>com.bjsxt</groupId><artifactId>dubbo_cms_serviceapi</artifactId><version>1.0-SNAPSHOT</version></dependency>-<dependency><groupId>com.bjsxt</groupId><artifactId>dubbo_cms_mapper</artifactId><version>1.0-SNAPSHOT</version></dependency>-<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency>-<dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId></dependency>-<dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId></dependency>-<dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId></dependency></dependencies></project>2.java\com\bjsxt\cms Provider啟動類
package com.bjsxt.cms;import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication @EnableDubbo @MapperScan(basePackages = {"com.bjsxt.mapper"}) public class CmsProviderApp {public static void main(String[] args) {SpringApplication.run(CmsProviderApp.class, args);} }3.com\bjsxt\cms\service\impl服務實現
package com.bjsxt.cms.service.impl;import com.bjsxt.cms.serviceapi.CmsTypeServiceAPI; import com.bjsxt.mapper.CmsTypeMapper; import com.bjsxt.pojo.CmsType; import org.apache.dubbo.config.annotation.Service; import org.springframework.beans.factory.annotation.Autowired;import java.util.List;/*** Dubbo服務提供者*/ @Service public class CmsTypeServiceImpl implements CmsTypeServiceAPI {// mapper對象注入@Autowiredprivate CmsTypeMapper cmsTypeMapper;// 新增數據到數據庫@Overridepublic int save(CmsType type) {return cmsTypeMapper.insertSelective(type);}// 根據主鍵更新數據庫數據@Overridepublic int modify(CmsType type) {return cmsTypeMapper.updateByPrimaryKeySelective(type);}// 查詢所有數據@Overridepublic List<CmsType> findAll() {return cmsTypeMapper.selectByExample(null);} }4.配置文件application.yml
dubbo:application:name: dubbo-cms-providerregistry:address: zookeeper://192.168.89.140:2181protocol:port: 20880name: dubbospring:profiles:active: db6、consumer服務消費者實現
1.pom.xml
<?xml version="1.0" encoding="UTF-8"?>-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">-<parent><artifactId>dubbo_cms</artifactId><groupId>com.bjsxt</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>dubbo_cms_consumer</artifactId><version>1.0-SNAPSHOT</version>-<dependencies>-<dependency><groupId>com.bjsxt</groupId><artifactId>dubbo_cms_serviceapi</artifactId><version>1.0-SNAPSHOT</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-thymeleaf</artifactId></dependency>-<dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId></dependency>-<dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId></dependency>-<dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId></dependency></dependencies></project>2.com\bjsxt\cms\client\controller
package com.bjsxt.cms.client.controller;import com.bjsxt.cms.client.service.CmsTypeService; import com.bjsxt.pojo.CmsType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping;import java.util.List;/*** 服務消費者控制器。與客戶直接交互。提供控制邏輯*/ @Controller public class CmsTypeController {@Autowiredprivate CmsTypeService cmsTypeService;/*** 查詢所有的CmsType數據,通過Model作用域傳遞到視圖,做顯示。* @param model - 作用域* @return*/@GetMapping("/findAll")public String findAll(Model model){List<CmsType> list = cmsTypeService.findAll();model.addAttribute("list", list);return "list";} }3.service服務實現com\bjsxt\cms\clientservice
package com.bjsxt.cms.client.service;import com.bjsxt.pojo.CmsType;import java.util.List;// 本地服務接口 public interface CmsTypeService {// 查詢所有CmsType數據List<CmsType> findAll(); } package com.bjsxt.cms.client.service.impl;import com.bjsxt.cms.client.service.CmsTypeService; import com.bjsxt.cms.serviceapi.CmsTypeServiceAPI; import com.bjsxt.pojo.CmsType; import org.apache.dubbo.config.annotation.Reference; import org.springframework.stereotype.Service;import java.util.List;/*** 本地服務實現*/ @Service public class CmsTypeServiceImpl implements CmsTypeService {@Referenceprivate CmsTypeServiceAPI serviceAPI;// 遠程訪問provider中的方法,實現數據查詢。@Overridepublic List<CmsType> findAll() {return serviceAPI.findAll();} }4.啟動類
package com.bjsxt.cms.client;import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication @EnableDubbo public class CmsTypeConsumerApp {public static void main(String[] args) {SpringApplication.run(CmsTypeConsumerApp.class, args);} }5.配置
5.1、application.yml
5.2、resources\templates\list.html
總結
- 上一篇: 幺爸什么意思 幺爸是什么方言
- 下一篇: 苹果实况照片是什么意思