Fortune-Commonsがオープンしました


Fortune Commonsは筆者が仕事をして以来のいくつかの技術の蓄積であり、非常に「ローエンド」であるが、Javaの入門やJava開発に初心者にとって、良い学習資源でもあり、今日はわざわざ統合された.
Githubアドレス:https://github.com/landy8530/...
プロジェクト紹介
プロジェクトの特色
プロジェクトはJava勧誘退師、ApacheとSpring Cloudなどの有名なオープンソースアーキテクチャのメンバーである馬哥(Github:mercyblitz)の思想の影響を受け、本プロジェクトは現在一般的に採用されている自動化配置、注釈化開発などの特徴を採用し、開発過程は非常に便利である.コードは次のとおりです.
/**
 * @author: Landy
 * @date: 2019/4/7 00:04
 * @description: WebApplicationContext   ,               ,          
 *    web        
 */
@Configuration
@EnableAspectJAutoProxy //     xml    
@EnableTransactionManagement //       
@Import({BeanInitializeCompletedConfiguration.class})
public class RootApplicationContextConfiguration {

    //   DataCacheFacade
    @Bean(name = DataCacheFacade.BEAN_NAME_DATA_CACHE_FACADE)
    public DataCacheFacade dataCacheFacade() {
        DataCacheFacade dataCacheFacade = new DataCacheFacade();
        List cacheDataAdapterList = new ArrayList<>();
        cacheDataAdapterList.add(new CodeCacheDataLoadAdapter());
        dataCacheFacade.setCacheDataAdapterList(cacheDataAdapterList);
        return dataCacheFacade;
    }

    public class CodeCacheDataLoadAdapter extends CacheDataLoadAdapter {
        private List keys=new ArrayList();
        @Override
        public boolean loadData() {
            ...
            return true;
        }

        @Override
        public List getStoreKeys() {
            return keys;
        }
    }
}

プロジェクト名
ほとんどのプログラマーは命の苦しい子供なので、いつかコードを通じて自分の運命を変えることを望んでいます.だから、私はこのプロジェクトのためにfortuneの名前を決めました.私たちがコードを通じて世界を変えることができることを望んでいます(ハハ)!
バージョン制約
  • Spring:5.x+
  • JDK:1.8+

  • バージョン計画
    現在の国内の各業界の異なる技術分布に適応するために、現在3つの大バージョンの計画を計画し、以下のように説明する.
    バージョン#バージョン#
    機能の説明
    1.x
    データキャッシュ処理とexcel/pdfエクスポートコンポーネント、Spring MVCを統合
    2.x
    データキャッシュ処理とexcel/pdfエクスポートコンポーネント、Restful APIを統合
    3.x
    データキャッシュ処理とexcel/pdfエクスポートコンポーネント、Restful APIを統合し、Spring Boot/spring Cloudなどに参加する予定
    注:上記の各バージョンでは、他のコンポーネントを追加できます.
    工程説明
    現在の最新バージョンはv 1.0.xで、以下のサブエンジニアリング(サブモジュール)が含まれており、それぞれ以下に説明されています(wikiも参照).
    commons-core
    主に、BeanCopierツールのパッケージ化、ymlファイルの読み取りツール、Freemarker解析実装、ApplicationContextツールクラス、Springコンテナの初期化後に統合された操作のlistener実装、その他のツールクラスサポートなど、本プロジェクトに必要ないくつかのコア機能実装です.
    commons-datacache
    本モジュールは各主流キャッシュミドルウェアの実現を動的に実現し,commons-nosqlモジュールに依存して自由に切り替えることができる.現在、以下のようなものが実現されています.
  • ローカルメモリ(Memory)
  • Mongodb
  • Memcached
  • Redis(間もなく実現)
  • commons-nosql
    NoSqlは関係型データベースのCRUD操作をシミュレートし,現在Mongodbで実現されている.
    commons-export
    EXcelとpdfエクスポートコンポーネントを実現
    commons-web
    Web側で一般的な構成操作をカプセル化
    commons-web-springmvc
    spring mvcのいくつかの構成操作がパッケージされており、commons-webサブモジュールに依存しています.
    fortune-commons-example
    本プロジェクトのプレゼンテーションモジュールは、主にテスト用途に使用されます.
    このオープンソースプロジェクトにどのように貢献するか
  • コードの多くは手で叩くので、間違いは避けられません.Bugを手伝ってissuesやPRを提出してください.
  • 多くの知識点には触れていないかもしれませんが、他の知識点を補充したり、他のコンポーネントを追加したりすることができます.
  • プロジェクトをより透明化し、便利化するためにwikiの作成にも参加することができます.

  • なぜこのオープンソースコンポーネントを作るのですか?
    最初のアイデアは、自分の仕事で出会ったさまざまな穴に由来し、主な目的は、このオープンソースプラットフォームを通じてJavaを勉強したり、自分の会社で直接使用したり、自分のプロジェクトを拡張したりすることです.
    Git操作説明
    ブランチの切り替え
    fork本工事後は以下のように操作すればよいが、
  • masterブランチに切り替え、最新のリモート・ライブラリのコードを更新
  • git checkout master
  • git pull/git fetch


  • ブランチの作成
  • 独自のローカルブランチを作成し、masterをソースとして作成
  • git checkout -b fortune-commons-export

  • 正常に作成されたかどうかを確認
  • git branch
  •   fortune-commons-beanutils
    * fortune-commons-export
      fortune-commons-memcached
      master

    アスタリスク(*)は、現在のブランチを表します.現在のステータスは、正常に作成された新しいブランチであり、新しいブランチに切り替えられています.
    同期ブランチ
  • 新規ローカルブランチpushをリモートサーバに、リモートブランチとローカルブランチの同名(もちろん任意に名前を付けることができます)
  • git push origin fortune-commons-export:fortune-commons-export


  • ラベルの作成
  • git tag -a v1.0.1 -m "fortune commons v1.0.1"
  • git push origin v1.0.1