您好,登錄后才能下訂單哦!
這篇文章主要介紹了Servlet+MyBatis項目如何轉Spring Cloud微服務,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一、項目需求
在開發過程中,由于技術的不斷迭代,為了提高開發效率,需要對原有項目的架構做出相應的調整。
二、存在的問題
為了不影響項目進度,架構調整初期只是把項目做了簡單的maven管理,引入springboot并未做spring cloud微服務處理。但隨著項目的進一步開發,急需拆分現有業務,做微服務處理。因此架構上的短板日益突出。spring cloud config 無法完全應用,每次項目部署需要修改大量配置文件。嚴重影響開發效率,因此便萌生了對項目架構再次調整的決心。
三、調整建議
為了兼容以前的代碼版本,盡量不修改現有的代碼結構,以免增加額外的工作量并且為了更好的應用cloud config。
首先,創建JdbcConfigBean類,用以讀取配置文件,實例代碼入如下(僅供參考):
import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.stereotype.Component; @RefreshScope @Component("jdbcConfigBean") public class JdbcConfigBean { @Value("${jdbc.driver}") private String driver; @Value("${db1.jdbc.url}") private String url; @Value("${db1.jdbc.username}") private String username; @Value("${db1.jdbc.password}") private String password; @Value("${db2.jdbc.url}") private String db2_url; @Value("${db2.jdbc.username}") private String db2_username; @Value("${db2.jdbc.password}") private String db2_password; // 其他數據源 // 其他配置 // 相應的getter setter 方法 }
其次,創建數據源,代碼示例如下(僅供參考):
/** * xml Mabatis XML配置文件 * @param xml * @return **/ public static SqlSessionFactory create(String xml){ JdbcConfigBean jdbcConfigBean = (JdbcConfigBean) SpringContextUtil.getBean("jdbcConfigBean"); Properties properties = new Properties(); properties.setProperty("jdbc.driver", jdbcConfigBean.getDriver()); properties.setProperty("db1.jdbc.url", jdbcConfigBean.getUrl()); properties.setProperty("db1.jdbc.username", jdbcConfigBean.getUsername()); properties.setProperty("db1.jdbc.password", jdbcConfigBean.getPassword()); properties.setProperty("db2.virtual.jdbc.url", jdbcConfigBean.getDb2_url()); properties.setProperty("db2.virtual.jdbc.username", jdbcConfigBean.getDb2_username()); properties.setProperty("db2.virtual.jdbc.password", jdbcConfigBean.getDb2_password()); // 其他屬性 try { Reader reader = Resources.getResourceAsReader(xml); SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); return sqlSessionFactoryBuilder.build(reader, properties); } catch (IOException e) { log.error("創建數據源失敗:" + e.getMessage()); } return null; }
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Servlet+MyBatis項目如何轉Spring Cloud微服務”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。