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

wordpress 网站变慢高端网络建站

wordpress 网站变慢,高端网络建站,网站建设人工智能,成都网页制作公司#x1f3a8;领域#xff1a;Java后端开发#x1f525;收录专栏#xff1a; 框架 #x1f412;个人主页#xff1a;BreezAm #x1f496;Gitee#xff1a;https://gitee.com/BreezAm ✨个人标签#xff1a;【后端】【大数据】【前端】【运维】 文章目录业务场景场景分… 领域Java后端开发 收录专栏 框架 个人主页BreezAm Giteehttps://gitee.com/BreezAm ✨个人标签【后端】【大数据】【前端】【运维】 文章目录业务场景场景分析三、解决方案3.1 编写一个获取bean的工具类SpringUtil3.2 编写销毁bean和注册bean的工具类3.3 使用案例总结业务场景 有这样一个业务场景就是在项目运行的过程中动态修改邮箱的配置信息目前面临的问题是项目运行以后不能动态修改邮箱发件人。 场景分析 在上面的业务场景中说到不能在项目运行的过程中动态修改邮箱发件人造成这个问题的原因是该系统的邮箱配置信息是在application.yml中配置的如下所示一旦通过这种方式配置想修改必须停掉项目这就很麻烦那么我们该如何解决呢 spring:mail:host: smtp.163.comusername: iefox.163.com #发件人邮箱地址password: # 密钥properties:mail:smtp:auth: truessl:enable: truestarttls:enable: truerequired: trueport: 465在spring中可以通过销毁bean和重新注册bean的方式实现邮箱配置信息的更改从而实现动态修改发件人邮箱。下面是实现步骤。 三、解决方案 3.1 编写一个获取bean的工具类SpringUtil Component public class SpringUtil implements ApplicationContextAware {private static ApplicationContext applicationContext;Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {SpringUtil.applicationContext applicationContext;}public static Object getBean(String beanName) {return applicationContext.getBean(beanName);}public static T T getBean(ClassT beanClass) {return applicationContext.getBean(beanClass);}public static T T getBean(String beanName, ClassT beanClass) {return applicationContext.getBean(beanName, beanClass);}public static ApplicationContext getApplicationContext() {return applicationContext;} }3.2 编写销毁bean和注册bean的工具类 Component Slf4j public class BeanUtil {Resourceprivate ApplicationContext applicationContext;/*** 注册bean** param property bean的属性* param beanName bean的名字* param clazz 类实例*/public void registerBean(MapString, Object property, String beanName, Class? clazz) {destroyBean(beanName);//注册bean之前先销毁ConfigurableApplicationContext configurableApplicationContext (ConfigurableApplicationContext) SpringUtil.getApplicationContext();DefaultListableBeanFactory defaultListableBeanFactory (DefaultListableBeanFactory) configurableApplicationContext.getBeanFactory();BeanDefinitionBuilder bdb BeanDefinitionBuilder.genericBeanDefinition(clazz);property.forEach(bdb::addPropertyValue);defaultListableBeanFactory.registerBeanDefinition(beanName, bdb.getBeanDefinition());}/*** 销毁bean** param beanName bean的名字*/private void destroyBean(String beanName) {DefaultListableBeanFactory beanFactory getBeanFactory();if (beanFactory.containsBeanDefinition(beanName)) {beanFactory.destroySingleton(beanName);beanFactory.removeBeanDefinition(beanName);log.info({}销毁成功, beanName);} else {log.info({}销毁失败, beanName);}}/*** 获取bean工厂** return 实例*/private DefaultListableBeanFactory getBeanFactory() {ConfigurableApplicationContext configurableApplicationContext (ConfigurableApplicationContext) applicationContext;return (DefaultListableBeanFactory) configurableApplicationContext.getBeanFactory();} }3.3 使用案例 1注册bean 下面是注册bean的写法当我们需要在项目运行过程中修改配置信息的时候只需要写个controller方法调用修改即可。 Autowired private BeanUtil beanUtil;MapString, Object property new HashMap();property.put(host,smtp.163.com);property.put(port,465);property.put(protocol,);property.put(username,xiaoming163.com);property.put(password,);beanUtil.registerBean(property,mainBean,JavaMailSender.class);//注册bean2发送邮件 JavaMailSender mailSender (JavaMailSender) SpringUtil.getBean(mailBean);//通过名字获取beanSimpleMailMessage message new SimpleMailMessage();message.setSubject(主题);message.setFrom(xiaoming163.com);message.setTo(dashi163.com);message.setText(你好);mailSender.send(message);总结 上面是一个通用的工具类在这里只是拿邮箱发件人动态修改举例其实在业务场景中还有很多类似于这样的场景例如OSS对象存储服务配置信息的动态修改等等都可以采用这种方式解决。 收录专栏框架
http://www.pierceye.com/news/197057/

相关文章:

  • 高品质网站设计北京市地铁建设管理公司网站
  • 初次建设网站的技巧织梦做分类信息网站
  • 宣讲家网站官网加强作风建设网站业务怎么做的
  • 厚街网站建设价格做办公室的网站
  • 青海做网站找谁wordpress gif缩略图
  • 手机网站全屏显示如何把自己做的网站放到微信上
  • 网站建设云雅淇wordpress
  • 工作室网站需要备案吗python基础教程编程题
  • 建设工程人才招聘信息网站响应式网站 cms
  • 设计签名免费网站福州的网站建设
  • 太原这边有做网站的吗wordpress实现pdf浏览
  • 制作微信公众号的网站开发30岁做网站运营
  • 松江手机网站开发正规免费代理
  • 太原市建设路小学网站昆山住房与城乡建设局网站
  • 石家庄的网站的公司计算机应用技术专业网站开发方向
  • 网站优化软件排行榜八年级微机网站怎么做
  • 织梦网站漏洞cms网站开发流程
  • 网站开发规划书怎么写企业cms开源
  • html网站免费下载海珠区建网站
  • 石家庄住房城乡建设厅网站宿迁网站建设推广公司
  • 广州模板网站建设费用2024新闻热点摘抄
  • 河北秦皇岛建设局网站做网站简单的软件
  • 上海网站开发外包公司最新新闻热点事件短篇
  • wordpress实现网站勋章功能网站建设需要什么资质
  • 河北沙河市建设局网站威海好的网站建设公司
  • 网站建设怎么放到云空间上海企业网站模板
  • 设计和建设企业网站心得和体会wordpress和新浪微博同步
  • 网站底部横条导航代码制造业erp系统软件有哪些
  • 网站建设公司antnw企业营销型网站制作
  • 接口网站开发wordpress安装网站无法