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

做视频网站成本高吗网站建设推广工资

做视频网站成本高吗,网站建设推广工资,wordpress 免费模版,深圳网站设计三把火背景 公司产品微服务架构下有十几个模块#xff0c;几乎大部分模块都要连接redis。每次在客户那里部署应用#xff0c;都要改十几遍配置#xff0c;太痛苦了。当然可以用nacos配置中心的功能#xff0c;配置公共参数。不过我是喜欢在应用级别上解决问题#xff0c;因为并不…背景 公司产品微服务架构下有十几个模块几乎大部分模块都要连接redis。每次在客户那里部署应用都要改十几遍配置太痛苦了。当然可以用nacos配置中心的功能配置公共参数。不过我是喜欢在应用级别上解决问题因为并不是每个项目都会使用nacos做个知识储备还是不错的。 公共配置文件位置 启动本地rediswindows版 当前redis 没有数据 初始化redis 这里的初始化和正常把redis配置信息放到application.yml里的初始化是一样的。 package cn.com.soulfox.common.config;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.data.redis.RedisProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisOperations; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer;/*** * create 2024/4/11 10:48*/ Configuration ConditionalOnClass(RedisOperations.class) EnableConfigurationProperties(RedisProperties.class) Slf4j public class RedisTemplateConfig {BeanConditionalOnMissingBean(name redisTemplate)public RedisTemplateString, Object getRedisTemplate(RedisConnectionFactory factory){log.info(开始初始化 RedisTemplate ------------------);RedisTemplateString, Object redisTemplate new RedisTemplate();// key的序列化类型redisTemplate.setKeySerializer(new StringRedisSerializer());redisTemplate.setHashKeySerializer(new StringRedisSerializer());redisTemplate.setHashValueSerializer(new JdkSerializationRedisSerializer());redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());redisTemplate.setConnectionFactory(factory);log.info(初始化 RedisTemplate 结束------------------);return redisTemplate;} }解析自定义sf-redis.yml package cn.com.soulfox.business.config;import org.springframework.beans.factory.config.YamlPropertiesFactoryBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; import org.springframework.core.io.FileSystemResource; import org.springframework.stereotype.Component;/*** * create 2024/6/26 16:41*/ Configuration public class CommonConfig {Bean(common-config)public static PropertySourcesPlaceholderConfigurer properties() {PropertySourcesPlaceholderConfigurer configurer new PropertySourcesPlaceholderConfigurer();YamlPropertiesFactoryBean redis new YamlPropertiesFactoryBean();//文件路径写死的真正做项目时文件路径可以配置到application.yml文件FileSystemResource redisResource new FileSystemResource(../common-config/sf-redis.yml);redis.setResources(redisResource);configurer.setPropertiesArray(redis.getObject());//如果有多个配置文件也是可以处理的。setPropertiesArray(Properties... propertiesArray)方法的参数是个数组//如下还可以同时处理文件sf-ports.yml,此时configurer.setPropertiesArray(redis.getObject());代码要注释掉//YamlPropertiesFactoryBean ports new YamlPropertiesFactoryBean(); // FileSystemResource portsResource new FileSystemResource(../common-config/sf-ports.yml); // ports.setResources(portsResource);//同时添加sf-redis.yml和sf-ports.yml的配置信息 // configurer.setPropertiesArray(redis.getObject(), ports.getObject());return configurer;} } 应用启动类 注意一下因为我已经搭建了完整的微服务包括nacosmybatisfeign等所有启动类上注解比较多。如果只是单纯测试一下引入springboot基础框架和redis依赖写一个基础启动类就可以了。 package cn.com.soulfox.business;import org.springframework.beans.factory.config.YamlPropertiesFactoryBean; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; import org.springframework.core.io.FileSystemResource; import org.springframework.core.io.PathResource; import org.springframework.core.io.Resource; import org.springframework.transaction.annotation.EnableTransactionManagement; import tk.mybatis.spring.annotation.MapperScan;import java.io.File;SpringBootApplication EnableDiscoveryClient//nacos注册中心 EnableFeignClients(basePackages {cn.com.soulfox.common.feign.client})//feign扫描 MapperScan(basePackages{cn.com.soulfox.*.mvc.mapper})//mybatis mapper扫描 EnableTransactionManagement//开启数据库事务 ComponentScan(cn.com.soulfox) public class BusinessApplicationRun {public static void main(String[] args) {SpringApplication.run(BusinessApplicationRun.class, args);}} 启动一下应用看看redis是否初始化成功 测试一下是否可以正常使用 单元测试类 package cn.com.soulfox.common.config;import cn.com.soulfox.business.BusinessApplicationRun; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.test.context.junit4.SpringRunner;/*** * create 2024/6/26 16:52*/ RunWith(SpringRunner.class) SpringBootTest(classes BusinessApplicationRun.class,webEnvironment SpringBootTest.WebEnvironment.RANDOM_PORT) public class CommonConfigTest {Autowiredprivate RedisTemplateString, Object redisTemplate;//文件sf-redis.yml里属性的使用和applications.yml一样Value(${spring.redis.host})private String redisHost;Testpublic void test(){System.out.println(从文件取参数测试);System.out.println(redisHost: redisHost);} } 测试sf-redis.yml属性使用    使用方法和配置在application.yml文件是一样都是通过Value注解获取 测试结果 测试redis是否可以正常使用 测试写入数据增加以下测试方法 Testpublic void testRedisSetValue(){this.redisTemplate.opsForValue().set(test, test123);}测试结果 测试读取数据增加以下测试方法 Testpublic void testRedisGetValue(){Object testValue this.redisTemplate.opsForValue().get(test);System.out.println(testValue);}测试结果 总结一下。。。 现在的微服务大多使用nacos作为注册中心同事nacos也能作为配置中心使用。公共配置一般放在nacos中以上方法没有什么用处。但总有项目可能不会使用nacos比如使用eureka这时候以上方法就有用武之地。这个方法可以作为知识储备了解一下总是有好处的 :–)    还有一点需要注意的就是yml文件是在程序启动后解析的所以文件里的配置信息在application.yml里是不能通过${xxx.xxx}使用的。
http://www.hkea.cn/news/14259979/

相关文章:

  • 郑州模板网站制作直播视频下载
  • 网站制作详情windows2008 iis 网站配置
  • 绍兴cms建站模板网络营销管理名词解释
  • 网站自建设需要买什么时候开始咸阳网站开发
  • 桂林有名网站制作公司胶州哪家公司做网站
  • wordpress网站在线安装建设网站费用一般多少
  • 旅游电子商务网站建设规划方案wordpress渗透经验
  • 怎么把网站模板上传到自己的网站医疗网站建设网站
  • 集团网站下分网站 模板陕西app定制
  • 公司可以做多个网站吗怎么做网页漂亮
  • 公司网站推广现状番禺网站建设三杰科技
  • 桂林北站到阳朔中学生网站源码
  • 免费建立自己的网站空间网站整体地图怎么做
  • 互联网众筹网站怎样建设wordpress不能登录界面
  • 冻品网站的建设背景淘宝网站建设目标是什么意思
  • 怎么做一个摄影平台网seo营销技巧
  • 南京建设监理协会网站打不开网站排名技巧
  • 深圳市盐田区住房建设局网站做高端品牌生产商的网站
  • 无锡画室网站建设网站建设公司专业网站科技开发
  • 广州网站建设哪家技术好南昌网站建设公司如何
  • 小型电子商务网站建设与发展wordpress循环分类子分类与文章
  • 仿造整个网站温州网页制作模板
  • 网站建设完不管了自己怎么接手沈阳餐饮网站建设
  • 外贸常用的网站网站赞赏
  • 同一个地方做几个网站wordpress更改本地主题
  • 杭州产品推广服务公司网站jquery在线优化
  • 申请免费网站主页空间一个网站开发时间
  • 做网站学什么专业张家港苏州网站建设
  • 权威的合肥网站建设wordpress侧边小工具栏
  • 和谐校园网站建设wordpress安装 后