天津网站优化推广方案如何建设网站咨询跳转页面

news/2025/9/24 3:12:04/文章来源:
天津网站优化推广方案,如何建设网站咨询跳转页面,遂宁门户网站建设先进工作单位,python 建设网站spring aop示例最近#xff0c;我们介绍了Spring Profiles的概念。 此概念是针对不同部署环境的轻松配置区分符。 直接的用例#xff08;已提出#xff09;是对相关的类进行注释#xff0c;以便Spring根据活动的配置文件加载适当的类。 但是#xff0c;这种方法可能并不… spring aop示例 最近我们介绍了Spring Profiles的概念。 此概念是针对不同部署环境的轻松配置区分符。 直接的用例已提出是对相关的类进行注释以便Spring根据活动的配置文件加载适当的类。 但是这种方法可能并不总是适用于常见的用例……通常配置密钥是相同的并且每个值只会随环境而变化。 在本文中我想提出一种模式来支持按环境加载配置数据 而无需为每个概要文件即针对每个环境创建/维护多个类。 在整个文章中假设每个部署环境的数据库定义例如用户名或连接URL不同我将以数据库连接配置为例。 主要思想是使用一个类来加载配置即一个类用于DB连接定义然后将适当的实例注入其中以保存正确的概要文件配置数据。 为了方便和清楚起见该过程分为三个阶段 阶段1 基础设施 步骤1.1 –创建一个包含所有配置数据的属性文件 步骤1.2 –为每个配置文件创建注释 步骤1.3 –确保在上下文加载期间加载了配置文件 阶段2 实施配置文件模式 步骤2.1 –创建属性界面 步骤2.2 –为每个配置文件创建一个类 步骤2.3 –创建一个包含所有数据的抽象文件 阶段3 使用模式 步骤3.1 –使用模式的示例 弹簧轮廓图–阶段1基础准备 此阶段将建立使用Spring Profile和配置文件的初始基础设施。 步骤1.1 –创建一个包含所有配置数据的属性文件 假设您有一个maven风格的项目请在src / main / resources / properties中为每个环境创建一个文件例如 my_company_dev.properties my_company_test.properties my_company_production.properties my_company_dev.properties内容的示例 jdbc.url jdbcmysql// localhost3306 / my_project_db db.username dev1 db.password dev1 hibernate.show_sql true my_company_production.properties内容的示例 jdbc.url jdbcmysql//10.26.26.263306 / my_project_db db.username prod1 db.password fdasjkladsof8aualwnlulw344uwj9l34 hibernate.show_sql false 步骤1.2 –为每个配置文件创建注释 在src.main.java.com.mycompany.annotation中为每个Profile创建注释例如 Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) Profile(DEV) public interface Dev { }Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) Profile(PRODUCTION) public interface Production { } 为每个配置文件创建一个枚举 公共接口MyEnums { public enum Profile{ DEV, TEST, PRODUCTION } 步骤1.3 –确保在上下文加载期间加载了配置文件 定义一个系统变量以指示代码在哪个环境中运行。 在Tomcat中转到$ {tomcat.di} /conf/catalina.properties并插入一行 profile DEV根据您的环境 定义一个类来设置活动配置文件 public class ConfigurableApplicationContextInitializer implementsApplicationContextInitializerconfigurableapplicationcontext {Overridepublic void initialize(ConfigurableApplicationContext applicationContext) {String profile System.getProperty(profile);if (profilenull || profile.equalsIgnoreCase(Profile.DEV.name())){applicationContext.getEnvironment().setActiveProfiles(Profile.DEV.name()); }else if(profile.equalsIgnoreCase(Profile.PRODUCTION.name())){applicationContext.getEnvironment().setActiveProfiles(Profile.PRODUCTION.name()); }else if(profile.equalsIgnoreCase(Profile.TEST.name())){applicationContext.getEnvironment().setActiveProfiles(Profile.TEST.name()); }} } 确保在上下文加载期间加载了该类 在项目web.xml中插入以下内容 context-paramparam-namecontextInitializerClasses/param-nameparam-valuecom.matomy.conf.ConfigurableApplicationContextInitializer/param-value /context-param 阶段2实施配置文件模式 此阶段利用我们之前构建的基础架构并实现配置文件模式。 步骤2.1 –创建属性界面 为您拥有的配置数据创建一个接口。 在我们的情况下该接口将提供对四个配置数据项的访问。 所以看起来像这样 public interface SystemStrings {String getJdbcUrl(); String getDBUsername(); String getDBPassword(); Boolean getHibernateShowSQL(); //..... 步骤2.2 –为每个配置文件创建一个类 开发配置文件示例 Dev //Notice the dev annotation Component(systemStrings) public class SystemStringsDevImpl extends AbstractSystemStrings implements SystemStrings{public SystemStringsDevImpl() throws IOException {//indication on the relevant properties filesuper(/properties/my_company_dev.properties);} } 生产资料示例 Prouction //Notice the production annotation Component(systemStrings) public class SystemStringsProductionImpl extends AbstractSystemStrings implements SystemStrings{public SystemStringsProductionImpl() throws IOException {//indication on the relevant properties filesuper(/properties/my_company_production.properties);} } 上面的两个类是属性文件与相关环境之间进行绑定的位置。 您可能已经注意到这些类扩展了一个抽象类。 这项技术很有用因此我们不需要为每个Profile定义每个getter从长远来看这是无法管理的实际上这样做是没有意义的。 蜜糖和蜂蜜位于下一步其中定义了抽象类。 步骤2.3 –创建一个包含所有数据的抽象文件 public abstract class AbstractSystemStrings implements SystemStrings{//Variables as in configuration properties file private String jdbcUrl; private String dBUsername; private String dBPassword; private boolean hibernateShowSQL;public AbstractSystemStrings(String activePropertiesFile) throws IOException {//option to override project configuration from externalFileloadConfigurationFromExternalFile();//optional..//load relevant propertiesloadProjectConfigurationPerEnvironment(activePropertiesFile); }private void loadProjectConfigurationPerEnvironment(String activePropertiesFile) throws IOException {Resource[] resources new ClassPathResource[ ] { new ClassPathResource( activePropertiesFile ) };Properties props null;props PropertiesLoaderUtils.loadProperties(resources[0]);jdbcUrl props.getProperty(jdbc.url);dBUsername props.getProperty(db.username); dBPassword props.getProperty(db.password);hibernateShowSQL new Boolean(props.getProperty(hibernate.show_sql)); }//here should come the interface getters.... 阶段3使用模式 您可能还记得在前面的步骤中我们定义了一个配置数据接口。 现在我们将在需要每个环境不同数据的类中使用该接口 。 请注意该示例是与Spring博客中给出的示例的主要区别因为现在我们不需要为每个概要文件创建一个类 因为在这种情况下我们在概要文件中使用相同的方法并且仅改变数据 。 步骤3.1 –使用模式的示例 Configuration EnableTransactionManagement //DB connection configuration class //(dont tell me youre still using xml... ;-) public class PersistenceConfig {Autowiredprivate SystemStrings systemStrings; //Spring will wire by active profileBeanpublic LocalContainerEntityManagerFactoryBean entityManagerFactoryNg(){LocalContainerEntityManagerFactoryBean factoryBean new LocalContainerEntityManagerFactoryBean();factoryBean.setDataSource( dataSource() );factoryBean.setPersistenceUnitName(my_pu); JpaVendorAdapter vendorAdapter new HibernateJpaVendorAdapter(){{// JPA propertiesthis.setDatabase( Database.MYSQL); this.setDatabasePlatform(org.hibernate.dialect.MySQLDialect);this.setShowSql(systemStrings.getShowSqlMngHibernate());//is set per environemnt.. }}; factoryBean.setJpaVendorAdapter( vendorAdapter );factoryBean.setJpaProperties( additionalProperties() );return factoryBean;} //... Beanpublic ComboPooledDataSource dataSource(){ComboPooledDataSource poolDataSource new ComboPooledDataSource();try {poolDataSource.setDriverClass( systemStrings.getDriverClassNameMngHibernate() );} catch (PropertyVetoException e) {e.printStackTrace();} //is set per environemnt..poolDataSource.setJdbcUrl(systemStrings.getJdbcUrl());poolDataSource.setUser( systemStrings.getDBUsername() );poolDataSource.setPassword( systemStrings.getDBPassword() );//.. more properties... return poolDataSource;} } 我将不胜感激和改进。 请享用 参考来自我们JCG合作伙伴 Gal Levinsky的Spring Profile模式来自Gal Levinsky的博客博客。 翻译自: https://www.javacodegeeks.com/2012/08/spring-profile-pattern-example_7.htmlspring aop示例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914688.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亲子网 网站正在建设中百度上搜不到做的网站

分析&#xff1a; 定义状态dp[i]表示长度为i的最长不下降子序列最大的那个数。 每次进来一个数直接找到dp数组第一个大于于它的数dp[x]&#xff0c;并把dp[x - 1]修改成 那个数。就可以了 AC代码&#xff1a; # include <iostream> # include <cstdio> # include &…

重庆代还信用卡网站建设开店怎么做会员系统

UNIX换页和交换的区别 在UNIX中&#xff0c;换页&#xff08;Paging&#xff09;是一种内存管理技术&#xff0c;用于在程序运行时动态地将其代码和数据从磁盘加载到内存中。当程序需要访问的页面不在内存中时&#xff0c;就会发生页错误&#xff08;page error&#xff09;&a…

新乡网站建设官网怎么建设一个手机网站

看了HarmonyOS 4网友种草和媒体测评&#xff0c;早就跃跃欲试了&#xff0c;近期终于迎来HarmonyOS 4正式版&#xff0c;赶紧拿起我的华为P60升级体验了下&#xff0c;简直不要太丝滑、太好玩&#xff01;其中&#xff0c;最让我眼前一亮的是趣味心情主题与全新的实况窗&#x…

世界上有几个空间站农业交易平台网站建设

文章目录 1.概念2.原理1&#xff09;Locale2&#xff09;ResourceBundle3&#xff09;MessageFormat 3.例子1&#xff09;准备资源文件2&#xff09;加载资源文件3&#xff09;格式化消息&#xff08;非必须&#xff09; 总结 在全球化的今天&#xff0c;开发支持多语言的应用变…

怀化网站建设公司网站的黏度

北方工业大学(B-) 考研难度&#xff08;☆☆&#xff09; 内容&#xff1a;23考情概况&#xff08;拟录取和复试分数人数统计&#xff09;、院校概况、23专业目录、23复试详情、23各科目和各专业考情分析。 正文1720字&#xff0c;预计阅读&#xff1a;5分钟。 2023考情概况…

嘉兴市南湖区城乡规划建设局网站找人做仿网站

DHCP 动态主机配置协议 对于每个主机来说&#xff0c;只要连接了网络&#xff0c;那么就会配置一个IP地址&#xff0c;那么这个IP地址&#xff0c;如果是手动配置的话&#xff0c;对于公司内部的人员来说都要找IT进行配置&#xff0c;这个太浪费人力物力了&#xff0c;所以解决…

西安市高陵区建设局网站wordpress商品系统

本文实例讲述了php实现获取文章内容第一张图片的方法。分享给大家供大家参考。具体分析如下&#xff1a;采用php获取文章内容的第一张图片方法非常的简单&#xff0c;我们最常用的是使用正则了&#xff0c;感兴趣的朋友可以参考一下下面这段代码。以下是关于选取文章中第一张图…

网站首页欣赏企业展厅设计专业的公司

文章目录 一、项目演示二、项目介绍三、运行截图四、主要代码1.保存宠物信息代码2.提交订单信息代码3.查询评论信息代码 一、项目演示 项目演示地址&#xff1a; 视频地址 二、项目介绍 项目描述&#xff1a;这是一个基于SpringBootuniApp框架开发的宠物领养微信小程序系统。…

大连制作网站wordpress hpkp

一.lombok工具包 中央仓库查找这个工具包:https://mvnrepository.com/ 给类添加Data注解就可以获取gettter和setter方法 , 这样我们就不必写getter 和 setter 方法. 也可以给成员属性添加单独的getter 和 setter , 针对某个成员属性单独添加setter或setter方法. 二.如果使用spr…

手机创建网站的软件网站上的截图怎么做

侧边栏不可以直接更改&#xff0c;所以先缩放整体界面&#xff0c;再改变工作区大小。 缩放整体界面&#xff1a; Ctrl 或 Ctrl - 。 也可以直接使用如下代码&#xff1a; Ctrl Shifit p 打开搜索 settings &#xff0c;选择下图第一个。 然后嵌入如下代码&#xff1a…

我做的网站上有需要别人直接下载的东西 怎么做到这一步网站自动识别移动终端

&#xff08;图片来源&#xff1a;网络&#xff09; 美国众议院科学、太空和技术委员会认为&#xff0c;如果不采取措施加速量子计算系统的发展&#xff0c;美国将落后于俄罗斯和中国。 因此&#xff0c;该小组的领导人——主席Frank Lucas&#xff08;共和党&#xff09;和高…

娄底网站建设方案医疗器械公司网站建设

要将一个时间戳转换为包含年月日时分秒的 refreshTime 对象&#xff0c;您可以使用 JavaScript 的 Date 对象和其相应的方法。 以下是一个示例代码&#xff1a; function convertTimestampToRefreshTime(timestamp) {const date new Date(timestamp);const refreshTime {ye…

网站开发要用哪些语言开发个人网站备案可以做公司网站用

全球知名的数据库流行度排行榜网站DB-Engines 宣布&#xff0c;在过去的一年里&#xff0c;MySQL在 DB-Engines排名中比其他350个受监测数据库管理系统的任何一个更受欢迎。 因此&#xff0c;MySQL为2019年的年度DBMS。 DB-Engines 2019&#xff1a; MySQL 获得“年度数据库”称…

创新的沈阳网站建设网站建设方案多少钱

Qt 使用代码编写的自定义控件类 首先需要完成继承QWidget 或者Qt 原生控件类的类编写实现在需要使用自定义控件类的 UI 文件中添加一个 自定义类的控件&#xff08;也就是自定义类继承的控件&#xff09;将这个控件进行提升&#xff08;promote) 为自定义类&#xff0c;记得设…

建设旅游网站的功能定位seo基本步骤

在信息时代的浪潮中&#xff0c;数据可视化正成为推动能源领域发展的重要工具。今天&#xff0c;我们将带您一起探索水电站与数据可视化的结合&#xff0c;如何成为洞察未来能源趋势的窗口。水电站作为传统能源领域的重要组成部分&#xff0c;它的运行与管理涉及大量的数据。然…

南通网站推广优化公司如何重视企业网站的建设

目录 一.算术操作符&#xff1a;、-、*、/、% 1. 和 - 2.* 3./ 4.% 二.赋值操作符&#xff1a;和复合赋值 1.连续赋值 2.复合赋值符 三.单目操作符&#xff1a;、--、、- 1.和-- 1.1前置 1.2后置 1.3前置-- 2. 和 - 四.强制类型转换 一.算术操作符&#xff1a;…

银川网站开发房地产新闻最新消息今天

1. 色度学基础 电磁光波谱组成: 1.1 三基色原理 人眼的视网膜上存在大量能在适当亮度下分辨颜色的锥状细胞&#xff0c;它们分别对应红、绿、蓝三种颜色&#xff0c;即分别对红光、绿光、蓝光敏感。由此&#xff0c;红&#xff08;R&#xff09;、绿&#xff08;G&#xff09;…

江苏省住房与城乡建设厅网站wordpress 少儿

当我和一位同事坐在一起解决一些应用程序问题时&#xff0c;一切都开始了&#xff0c;当时我注意到了一些有趣的事情。 他正在合并代码&#xff0c;我的眼睛吸引了此类“ org.apache.log4j.MDC”的注意。 这导致了以下发现&#xff1a; 什么是MDC&#xff1f; MDC代表“ 映射诊…

网站建设人员架构网站关键词优化软件

k8s kubeadm命令升级集群 从1.17升级到1.18 大纲 注意事项master节点执行升级命令master节点和node节点执行命令 注意事项 目标当前线上k8s集群版本是k8s1.17 想把k8s升级到1.18。注意k8s不能跨版本升级例如k8s1.17不能直接升级到k8s1.19&#xff0c;需要先升级到1.18才后向…

html5 手机网站开发东莞小程序开发解决方案

来源&#xff1a;中国信息通信研究院CAICT当前&#xff0c;人工智能发展借助深度学习技术突破得到了全面关注和助力推动&#xff0c;各国政府高度重视、资本热潮仍在加码&#xff0c;各界对其成为发展热点也达成了共识。本文旨在分析深度学习技术现状&#xff0c;研判深度学习发…