当前位置: 首页 > news >正文

如何在虚拟空间上做多个网站制作一个自适应网站源码

如何在虚拟空间上做多个网站,制作一个自适应网站源码,qq推广引流怎么做,wordpress主题编程将配置交给Nacos管理的步骤 1、在Nacos中添加配置文件 2、在微服务中引入nacos的config依赖 3、在微服务中添加bootstrap.yml#xff0c;配置nacos地址、当前环境、服务名称、文件后缀名。这些决定了程序启动时去nacos读取哪个文件 Nacos配置更改后#xff0c;微服务可以实… 将配置交给Nacos管理的步骤 1、在Nacos中添加配置文件 2、在微服务中引入nacos的config依赖 3、在微服务中添加bootstrap.yml配置nacos地址、当前环境、服务名称、文件后缀名。这些决定了程序启动时去nacos读取哪个文件   Nacos配置更改后微服务可以实现热更新方式: 1、通过Value注解注入结合RefreshScope来刷新 2、通过ConfigurationProperties注入自动刷新 注意事项: ·不是所有的配置都适合放到配置中心维护起来比较麻烦 ·建议将一些关键参数需要运行时调整的参数放到nacos配置中心一般都是自定义配置 微服务会从nacos读取的配置文件: [服务名]-[spring.profile.active].yaml环境配置 [服务名].yaml默认配置多环境共享 优先级:[服务名]-[环境].yaml [服务名].yaml 本地配置   Nacos实现配置管理 点击配置管理 点击加号 设置好这些属性 Data ID一般不能重复建议写服务名称 描述描述是用来写这个配置作用的 配置格式用yaml 配置内容这里我写的是时间格式在后面java中可以使用这个配置 发布完成后可以得到一个配置 微服务配置拉取 引入Nacos的配置管理客户端依赖: ! --nacos配置管理依赖--dependency groupidcom.alibaba.cloud/ groupId artifactIdspring-cloud-starter-alibaba-nacos-config/artifactId/ dependency  这里我用userservice的pom文件  ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdcloud-demo/artifactIdgroupIdcn.itcast.demo/groupIdversion1.0/version/parentmodelVersion4.0.0/modelVersionartifactIduser-service/artifactIddependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependency!--mybatis--dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactId/dependency!--eureka客户依赖-- !-- dependency-- !-- groupIdorg.springframework.cloud/groupId-- !-- artifactIdspring-cloud-starter-netflix-eureka-client/artifactId-- !-- /dependency--!--nacos客户端依赖包--dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId/dependencydependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId/dependency/dependenciesbuildfinalNameapp/finalNamepluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build /project 在userservice中的resource目录添加一个bootstrap.yml文件这个文件是引导文件优先级高于application.yml; spring:     application:         name: userservice #服务名称     profiles:         active: dev#开发环境这里是dev     cloud:         nacos:             server-addr: localhost:8848 #Nacos地址             config:                 file-extension: yaml #文件后缀名 spring:application:name: userservice #服务名称profiles:active: dev #开发环境这里是devcloud:nacos:server-addr: localhost:8848 #nacos地址config:file-extension: yaml #文件后缀名 把application的一些重复配置注释掉 server:port: 8081 spring:datasource:url: jdbc:mysql://localhost:3306/cloud_user?useSSLfalseusername: rootpassword: 1234driver-class-name: com.mysql.jdbc.Driver # application: # name: userservice #user的微服务名称 # cloud: # nacos: # server-addr: localhost:8848 #nacos服务地址 # discovery: # cluster-name: SH #集群名称 mybatis:type-aliases-package: cn.itcast.user.pojoconfiguration:map-underscore-to-camel-case: true logging:level:cn.itcast: debugpattern:dateformat: MM-dd HH:mm:ss:SSS #eureka: # client: # service-url: #eureka地址信息 # defaultZone: http://127.0.0.1:10086/eureka 在controller中写新的代码判断前面配的配置文件是否有效 Value(${pattern.dateformat}) //注解读取该配置 private String dateformat;GetMapping(now) public String now(){return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));//通过该配置改变时间格式 } package cn.itcast.user.web;import cn.itcast.user.pojo.User; import cn.itcast.user.service.UserService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*;import java.text.DateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter;Slf4j RestController RequestMapping(/user) public class UserController {Autowiredprivate UserService userService;Value(${pattern.dateformat})//注解读取该配置private String dateformat;GetMapping(now)public String now(){return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));//通过该配置改变时间格式}/*** 路径 /user/110** param id 用户id* return 用户*/GetMapping(/{id})public User queryById(PathVariable(id) Long id) {return userService.queryById(id);} }重启服务后访问可以看到我们设置好的时间格式 配置热更新 每次更新配置后都需要重启服务才能生效。配置热更新后不需要重启服务也能使用新配置 Nacos中的配置文件变更后微服务无需重启就可以感知。不过需要通过下面两种配置实现: ●方式一:在Value注入的变量所在类上添加注解RefreshScope RefreshScopepackage cn.itcast.user.web;import cn.itcast.user.pojo.User; import cn.itcast.user.service.UserService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.web.bind.annotation.*;import java.text.DateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter;Slf4j RestController RequestMapping(/user) RefreshScope public class UserController {Autowiredprivate UserService userService;Value(${pattern.dateformat})//注解读取该配置private String dateformat;GetMapping(now)public String now(){return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));//通过该配置改变时间格式}/*** 路径 /user/110** param id 用户id* return 用户*/GetMapping(/{id})public User queryById(PathVariable(id) Long id) {return userService.queryById(id);} }重启服务后访问网页 把配置文件修改 不重启再次访问 可以发现/变成了年月日了但我们并没有重启服务。所以完成了热更新 ●方式二:使用ConfigurationProperties注解 我们把上个方法的注解注释掉并注入新的类并改变时间格式的参数 package cn.itcast.user.web;import cn.itcast.user.config.PatternProperties; import cn.itcast.user.pojo.User; import cn.itcast.user.service.UserService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.web.bind.annotation.*;import java.text.DateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter;Slf4j RestController RequestMapping(/user) //RefreshScope public class UserController {Autowiredprivate UserService userService;// Value(${pattern.dateformat}) // //注解读取该配置 // private String dateformat;Autowiredprivate PatternProperties properties;//注入新的java类GetMapping(now)public String now(){return LocalDateTime.now().format(DateTimeFormatter.ofPattern(properties.getDateformat()));//通过该配置改变时间格式}/*** 路径 /user/110** param id 用户id* return 用户*/GetMapping(/{id})public User queryById(PathVariable(id) Long id) {return userService.queryById(id);} }新建一个包并新建一个PatternProperties.java package cn.itcast.user.web;import cn.itcast.user.pojo.User; import cn.itcast.user.service.UserService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.web.bind.annotation.*;import java.text.DateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter;Slf4j RestController RequestMapping(/user) //RefreshScope public class UserController {Autowiredprivate UserService userService;Value(${pattern.dateformat})//注解读取该配置private String dateformat;GetMapping(now)public String now(){return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));//通过该配置改变时间格式}/*** 路径 /user/110** param id 用户id* return 用户*/GetMapping(/{id})public User queryById(PathVariable(id) Long id) {return userService.queryById(id);} }访问网页 改变配置文件 再次访问发现没有重启服务也能发生改变 多环境配置共享 再新建一个配置文件 可以看到上面的是dev环境的下面是多环境共享的 修改PatternProperties.java多读取一个变量 package cn.itcast.user.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component;Data Component ConfigurationProperties(prefix pattern)//前缀名后下面的dateformat拼接和配置一样就可以使用配置 public class PatternProperties {private String dateformat;private String envSharedValue; }在controller.java中新增一个getmapping package cn.itcast.user.web;import cn.itcast.user.config.PatternProperties; import cn.itcast.user.pojo.User; import cn.itcast.user.service.UserService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.web.bind.annotation.*;import java.text.DateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter;Slf4j RestController RequestMapping(/user) //RefreshScope public class UserController {Autowiredprivate UserService userService;// Value(${pattern.dateformat}) // //注解读取该配置 // private String dateformat;Autowiredprivate PatternProperties properties;//注入新的java类GetMapping(prop)public PatternProperties properties(){return properties;}GetMapping(now)public String now(){return LocalDateTime.now().format(DateTimeFormatter.ofPattern(properties.getDateformat()));//通过该配置改变时间格式}/*** 路径 /user/110** param id 用户id* return 用户*/GetMapping(/{id})public User queryById(PathVariable(id) Long id) {return userService.queryById(id);} }重启服务注意userservice的bootstrap.yml文件配置的环境是dev所以访问页面是dev环境的 在userservice2中设置环境让他跟userservice1不是同一个环境 使用test环境表示测试环境 重启userservice2 观察两个userservice 可以发现userservice1可以读到时间而userservice2无法读到时间。因为时间是dev环境的而envSharedValue是共享环境 配置的优先级 在application.yml配置pattern pattern:name: 本地环境local server:port: 8081 spring:datasource:url: jdbc:mysql://localhost:3306/cloud_user?useSSLfalseusername: rootpassword: 1234driver-class-name: com.mysql.jdbc.Driver # application: # name: userservice #user的微服务名称 # cloud: # nacos: # server-addr: localhost:8848 #nacos服务地址 # discovery: # cluster-name: SH #集群名称 mybatis:type-aliases-package: cn.itcast.user.pojoconfiguration:map-underscore-to-camel-case: true logging:level:cn.itcast: debugpattern:dateformat: MM-dd HH:mm:ss:SSS #eureka: # client: # service-url: #eureka地址信息 # defaultZone: http://127.0.0.1:10086/eurekapattern:name: 本地环境local 在PatternProperties.java加上name属性 package cn.itcast.user.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component;Data Component ConfigurationProperties(prefix pattern)//前缀名后下面的dateformat拼接和配置一样就可以使用配置 public class PatternProperties {private String dateformat;private String envSharedValue;private String name; }重启服务name一定是本地环境local因为此时只有本地配置了该属性 在userservice.yml配置name属性 访问name为环境共享属性default可以看出userservice的配置环境比本地的高  在userservice-dev.yml配置中添加属性name  访问name为环境配置dev可以看出dev环境配置文件是优先级最高的 得出结论优先级:[服务名]-[环境].yaml [服务名].yaml 本地配置 代码文件点击下载https://pan.baidu.com/s/1E1QHRnmoGYkUFNI7VXjflQ?pwdwdf3 上一篇Nacos和Eureka的区别
http://www.hkea.cn/news/14337006/

相关文章:

  • 邳州建设银行招聘网站WordPress搭建聊天室
  • 网站界面设计套题好创意网站有哪些方面
  • 重庆价格低建设网站公司网站怎么做跳转链接
  • 网站开发和美工的区别网站建设情况存在问题
  • 网站建设 交单流程狗和女人做的网站
  • 国外房屋设计网站艺术网页设计欣赏
  • 开封建设网站电子商城网站设计公司哪个好
  • 沈阳专业制作网站公司吗坊子网站建设
  • 网站制作模板软件个人网站有备案吗
  • .php的网站是怎么做的绍兴网络公司网站建设
  • 潮州企业网站建设广东建设工程注册中心网站
  • 做网站地图邮什么好处重庆教育建设集团有限公司网站
  • 餐饮连锁网站建设游戏公司招聘网站
  • 茂名网站建设哪家强北京黑马培训机构怎么样
  • 如何检测网站是否安全0基础建站教程
  • 重庆市设计公司网站做封面怎么把网站加上去
  • 鲁权屯网站建设wordpress安装404
  • 宁波网站建设营销定制房地产破了后国家会怎样
  • 网站的设计路线开网店卖什么产品比较好
  • 宜昌市网站建设外贸建站 wordpress
  • ui动效网站北京个人网站设计
  • 网站建设的英文上海稼禾建设装饰集团网站
  • 做网站公司上班违法吗互联网免费下载
  • 垂直类门户网站中国空间站24小时直播入口
  • 中国机械网站手机应用商店下载安装
  • phpcmsv9中英文网站手机网站建设视频教程
  • 傻瓜使用模板建网站网站有哪些区别是什么
  • 青岛网站优化多少钱网站怎样做权重
  • 高端网站建设公司哪家更专业峰峰网站建设
  • 怎么在悉尼做网站网络营销方法的分析与应用