UJCMS: SpringBoot に基づくオープンソースのコンテンツ管理システム
UJCMS は、SpringBoot に基づいて開発されたオープンソースのコンテンツ管理システム (Java CMS) であり、開発者に柔軟で使いやすい強力なプラットフォームを提供することを目的としています。 SpringBoot、MyBatis、Shiro、Lucene、FreeMarker、TypeScript、Vue3、ElementPlus などの主流テクノロジーを利用し、Jspxcms の長年の開発経験を参照して、元のシステムの問題点の一部を最適化および改善します。
UJCMSの技術ハイライト
UJCMSは、テクノロジーの選択とアーキテクチャ設計において常に「シンプル」と「柔軟」の原則を遵守し、システム保守コストと二次開発の難易度を削減し、開発者により便利なエクスペリエンスを提供するよう努めています。
1. 技術アーキテクチャ
永続層: MyBatis を Hibernate の代わりに使用して、データ永続化操作を簡素化し、開発効率を向上させます。
ビュー レイヤー: フロントエンドとバックエンドが分離された Vue3 を使用して JSP を置き換え、より最新のユーザー インターフェイス設計を実現し、ユーザー エクスペリエンスを向上させます。
データベース: データベース アーキテクチャを再設計し、データ ストレージとアクセス方法を最適化します。
2. 機能のハイライト
UJCMS は、コンテンツ管理システムの中核要件をカバーする豊富な機能を提供し、いくつかの革新的な設計を通じてシステムの柔軟性と使いやすさを向上させます。
1. カスタムフィールド
クエリ可能: すべてのカスタム フィールドをクエリできるため、システムの柔軟性が向上し、さまざまなコンテンツ管理のニーズに対応できます。
ビジュアル デザイン: WYSIWYG カスタム フィールド構成を実現し、操作プロセスを簡素化するためのドラッグ アンド ドロップのビジュアル デザイン インターフェイスを提供します。
2. URLアドレスSEOの最適化
動的アドレス変更: ユーザーが列や記事の URL アドレス接頭辞をカスタマイズして SEO 最適化効果を向上させるためのグローバル設定機能を提供します。
マルチサイトの最適化: サブサイトの URL アドレスは www.example.com/site-abc の形式ではなくなり、www.example.com/abc のよりわかりやすい形式になり、ユーザーのアクセス パスが簡素化されます。
3. ジャンク添付ファイルをクリーンアップする
添付ファイル管理: ユーザーが未使用の写真や添付ファイルをすべて表示、削除し、システム領域をクリーンアップできるようにする添付ファイル管理機能を提供します。
自動クリーニング: 記事を削除すると、大量のジャンク データが生成されるのを避けるために、システムは記事内の未使用の画像と添付ファイルを自動的にクリーンアップします。
4. 添付ファイル、テンプレート、インデックス ファイルは個別に展開されます
独立したディレクトリ: システムの実行中に生成されたファイル (アップロードされたイメージや添付ファイル、フロントエンド テンプレート、インデックス ファイルなど) を独立したディレクトリに展開して、システムのバックアップ、アップグレード、管理を容易にします。
5. テンプレート ファイルは CSS および JS と同じディレクトリにあります
便利な管理: テンプレート ファイル、CSS、および JS を同じディレクトリに配置すると、テンプレートの作成と展開のプロセスが簡素化され、開発効率が向上します。
6. MyBatis パラメータ化クエリ
柔軟なクエリ: フロントエンドでクエリ パラメータを渡すことで、任意のフィールドおよび関連テーブルのクエリ機能を実現できます。バックエンドでコードを記述する必要がないため、バックエンド開発の負荷が大幅に軽減されます。
効率の向上: クエリ操作を簡素化し、開発効率を向上させます。
7. プライマリテーブルとセカンダリテーブルを分割する
パフォーマンスの向上: 大量のクエリを含む複雑なテーブルをプライマリ テーブルとセカンダリ テーブルに分割し、よく使用されるクエリ フィールドをプライマリ テーブルに配置し、あまり使用されないフィールドをセカンダリ テーブルに配置して、大量のデータ ボリュームでのシステム パフォーマンスを向上させます。
UJCMS の環境要件
JDK8
MySQL 5.7 (5.6、8.0 と互換性あり)
Tomcat 8.5、9.0 (サーブレット 3.1+)
Maven 3.5 以降
システムバックエンドと互換性のあるブラウザ: Chrome、Firefox、Edge
フロント ページの互換性のあるブラウザはテンプレートによって異なります。ユーザーはテンプレートを完全に制御でき、理論的にはあらゆるブラウザをサポートできます。デモ テンプレートは、IE10+ (ライブラリ機能を除く)、Chrome、Firefox、および Edge をサポートします。
UJCMSのインストールと起動
1. データをデータベースにインポートする
データベースの作成: MySQL を使用する場合は、utf8mb4 文字セットを選択します (顔文字文字絵文字など、より多くの特殊文字をサポートします。推奨)。
データベース スクリプトの実行: データベース スクリプトはデータベース ディレクトリにあります。
2. プログラムを開始します
Maven プロジェクトをインポートする: Eclipse に Maven プロジェクトをインポートし、サードパーティの JAR パッケージ (Spring など) が Maven サーバーからダウンロードされるのを待ちます。
データベース接続を変更する: /src/main/resources/application.propertis ファイルを開き、実際の状況に応じて spring.datasource.url、spring.datasource.username、および spring.datasource.password の値を変更します。
プログラムを開始します。 Eclipse でプロジェクト名を右クリックし、「実行 - Java アプリケーション」を選択し、「アプリケーション - com.ujcms」を選択して、「OK」をクリックします。
IntelliJ IDEA: 操作手順は Eclipse と似ています。プロジェクト内で com.ujcms.Application クラスを見つけて右クリックし、「アプリケーション」の実行を選択します。
3. アクセスアドレス
フロントデスク:http://localhost:8080/
バックエンド:http://localhost:8080/cp/(ユーザー名:admin、パスワード:password)
注: バックエンド フロントエンドは Vue 3 に基づいて開発されています。バックエンド インターフェイスを変更する場合は、ujcms-cp プロジェクトを別途ダウンロードしてください。
要約する
UJCMS は、優れたパフォーマンスを備えた、強力かつ柔軟で使いやすいオープンソース コンテンツ管理システムです。主流のテクノロジースタックを採用し、いくつかの一般的な問題を最適化し、より便利で効率的な開発とメンテナンスのエクスペリエンスを開発者に提供することを目指しています。信頼性が高く、拡張が容易な CMS プラットフォームが必要な場合は、UJCMS に注目してください。