springcloud服务发现
生活随笔
收集整理的這篇文章主要介紹了
springcloud服务发现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
下面我們接著上一篇eureka的自我保護繼續(xù)講springcloud服務發(fā)現
controller層代碼:
package com.atguigu.springcloud.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController;import com.atguigu.springcloud.entities.Dept; import com.atguigu.springcloud.service.DeptService;import javax.annotation.Resource;@RestController public class DeptController {@Autowiredprivate DeptService service;//@Autowired@Resourceprivate DiscoveryClient client;@RequestMapping(value = "/dept/add", method = RequestMethod.POST)public boolean add(@RequestBody Dept dept) {return service.add(dept);}@RequestMapping(value = "/dept/get/{id}", method = RequestMethod.GET)public Dept get(@PathVariable("id") Long id) {return service.get(id);}@RequestMapping(value = "/dept/list", method = RequestMethod.GET)public List<Dept> list() {return service.list();}// @Autowired // private DiscoveryClient client;@RequestMapping(value = "/dept/discovery", method = RequestMethod.GET)public Object discovery() {List<String> list = client.getServices();System.out.println("**********" + list);List<ServiceInstance> srvList = client.getInstances("MICROSERVICECLOUD-DEPT");for (ServiceInstance element : srvList) {System.out.println(element.getServiceId() + "\t" + element.getHost() + "\t" + element.getPort() + "\t"+ element.getUri());}return this.client;}} 注入服務發(fā)現 @Resource private DiscoveryClient client;?
service層代碼
package com.atguigu.springcloud.service.impl;import java.util.List;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;import com.atguigu.springcloud.dao.DeptDao; import com.atguigu.springcloud.entities.Dept; import com.atguigu.springcloud.service.DeptService;@Service public class DeptServiceImpl implements DeptService {@Autowiredprivate DeptDao deptDao;@Overridepublic boolean add(Dept dept){return deptDao.addDept(dept);}@Overridepublic Dept get(Long id){return deptDao.findById(id);}@Overridepublic List<Dept> list(){return deptDao.findAll();}}dao層代碼
@Mapper //@Component @Repository public interface DeptDao {public boolean addDept(Dept dept);public Dept findById(Long id);public List<Dept> findAll(); }代碼結構:
?
mapper的核心配置文件mybatis.cfg.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><settings><setting name="cacheEnabled" value="true" /><!-- 二級緩存開啟 --></settings></configuration>?
mapper的sql映射文件DeptMapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.atguigu.springcloud.dao.DeptDao"><select id="findById" resultType="Dept" parameterType="Long">select deptno,dname,db_source from dept where deptno=#{deptno};</select><select id="findAll" resultType="Dept">select deptno,dname,db_source from dept;</select><insert id="addDept" parameterType="Dept">INSERT INTO dept(dname,db_source) VALUES(#{dname},DATABASE());</insert></mapper>啟動類:
package com.atguigu.springcloud;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@SpringBootApplication @EnableEurekaClient //本服務啟動后會自動注冊進eureka服務中 @EnableDiscoveryClient //服務發(fā)現 public class DeptProvider8001_App {public static void main(String[] args) {SpringApplication.run(DeptProvider8001_App.class, args);} }?
總結
以上是生活随笔為你收集整理的springcloud服务发现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言再学习 -- Ubuntu 12.
- 下一篇: C语言再学习 -- 查看版本及内核信息(