SpringCloud開発プロジェクト結束を使用するのは簡単

まず、新しい複雑なプロジェクト(いずれかのチェックなしで、リリースのすべての選挙2.1.10を)

    1、SRC削除
    ファイルPOM <パッケージ> POM </梱包>に追加し、2
    。以下3、削除<説明>コンテンツ
    4は、順次にサブの<モジュール>に追加され
    5、POMに全てのサブファイル<relativePath> ../ </ relativePath>

第二に、新しいサブユーレカビジネスセンターテニス(ユーレカサーバーをチェックしてください)

    図1に示すように、追加の.properties
        はserver.port = 8000         #は、他の中心に自分自身を登録しない(シングルモード)        偽-ユーレカと=にeureka.client.register         他の中央から#登録情報が取得されていない(シングルモード)        レジストリ=偽eureka.client.fetchの        #サービス登録アドレス        eureka.client.service-url.defaultZone = HTTP:// localhostを:8000 /ユーレカ    2、主な機能上のマーク@EnableEurekaServer注釈
        


        


        


        

第三に、新しいサブモジュール- コモン(チェックロンボク島)

    唯一のPOMファイルsrcと残して1、
    2は、エンティティクラスを作成し、主な機能を削除
    。3、POMテストファイルや削除は無関係依存<ビルド>

第四に、新しいサブモジュール- サーバー(チェック春のWeb、MyBatisのフレームワーク、MySQLのドライバ 、春データのRedis、ユーレカディスカバリークライアント)

    1は、.propertiesファイルに追加
        はserver.port = 8081

        spring.datasource.driverクラス名= com.mysql.cj.jdbc.Driver
        のMySQL:// localhostを:3306 /ハウスspring.datasource.url = JDBCを? = = UTF8&useSslオプションcharacterEncoding真&serverTimezone =アジア/上海の
        spring.datasource.username =ルート
        spring.datasource.password = ADMIN

        spring.redis.host = localhostを
        spring.redis.port = 6379

        #ここで注目すべきパケット構造に
        mybatis.type-aliases- = cn.kgc.common.entityパッケージ

        ノートパケット構造にここに#
        logging.level.cn.kgc.server.mapper =デバッグ

        spring.jackson.timeゾーンGMT + =。8
        spring.jackson.date format- = YYYY- DD HH-MM:MM:SSの

        レジストリ内の現在のサービスの#名は、方法は、サービスはユーレカへのサービスレジストリに登録されています
        spring.application.name =サービス名

        (ユーレカ・センターのプロジェクト構成である)アドレス#サービスレジストリ
        eureka.client.service-url.defaultZone = HTTP:// localhostを:8000 /ユーレカ    2、POMファイルに追加(オプション)に部分的に依存        <依存性>             <のgroupId> com.alibaba </のgroupId>             <たartifactId> FASTJSON </たartifactId>             <バージョン> 1.2.58 </バージョン>         </依存>         <依存性>             <のgroupId> io.springfox < /のgroupId>             <たartifactId> springfox-swagger2 </たartifactId>             <バージョン> 2.8.0 </バージョン>         </依存>         <依存性>             <のgroupId> io.springfox </のgroupId>             <たartifactId> springfox-闊歩-UI </たartifactId>
        
















            <バージョン> 2.8.0 </バージョン>
        </依存>

        <依存性>
            <のgroupId> com.github.pagehelper </のgroupId>
            <たartifactId> pagehelperスプリングブートスタータ</たartifactId>
            <バージョン> 1.2.10 < /バージョン>
        </依存関係>     3、在ポンポン文件的<BUID>中添加        <資源>             <リソース>                 <ディレクトリ>のsrc /メイン/ javaの</ディレクトリ>                 <含まれる>                     <include>の** / *。プロパティ</ include>の                    <> ** / *。xmlの</ include>の含める                </含ん>                 <フィルタリング>偽</フィルタリング>             </リソース>             <リソース>
        












                <ディレクトリ>のsrc /メイン/リソース</ディレクトリ>
                <付属>
                    <include>の** / *。プロパティ</ include>の
                    ** / * <include>のを。XML </ include>の
                </付属>
                falseに<フィルタリング> < /フィルタリング>
            </リソース>
        </リソース>     。4、主な機能アノテーション@EnableEurekaClientでマーク    、5作成クラスconfig.SwaggerConfig(ランダムな名前)、書込み(試験セクション5,6,7)        @Configuration         パブリッククラスSwaggerConfig {             @Bean             公衆整理番号createRestApi(){                 戻り新しい新しい整理番号(DocumentationType.SWAGGER_2)                         。apiInfo(apiInfo())
        

    









                        .Select()
                        .apis(RequestHandlerSelectors.basePackage( "cn.kgc.service.controller"))
                        .paths(PathSelectors.any())
                        .build();
            }

            プライベートApiInfo apiInfo(){
                戻り新しい新しいApiInfoBuilder()
                        .TITLE ( "xxxAPI")
                        .DESCRIPTION( "CRUDサービスを提供XXX")
                        .termsOfServiceUrl( "http://blog.csdn.net/saytime")
                        .version( "1.0")
                        ;().build
            }
        }     6、@ ApiOperation(値= " 「) 、このインターフェース用途や役割を説明し
    


        @ApiImplicitParam(名前=「援助」、値=「 プライマリキーアカウント番号」、必要= trueに、データ型は=「整数」、paramType =「パス」)
        名前:パラメータ名、値:どのような値は、必要な:それは必要であるかどうか(真/偽)、データ型:パラメータのデータ・タイプ、
        paramType:パラメータ値(パス経路/ボディエンティティクラスパラメータ)そこから        @ApiImplicitParams({             @ApiImplicitParam()...複数のパラメータ(この)、パラメータ(上記)        })    7、包装さ食事servcie動作、及び、ブラウザのlocalhostを入力:8081 /闊歩-ui.htmlアクセスを
        



        

第五に、サブモジュール-作成クライアント(春のWebは、Apache Freemarkerの、ユーレカディスカバリーチェッククライアント、OpenFeignを)

    1、在pom文件中添加
        <resources>
            ...上面有(注意要将页面、样式、图片等加上)
        </resources>
    2、在.properties文件中添加
        server.port=8080

        spring.freemarker.cache=false
        spring.freemarker.charset=UTF-8
        spring.freemarker.suffix=.ftl
        spring.freemarker.content-type=text/html

        #设置时间输入输出格式
        spring.jackson.time-zone=GMT+8
        spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

        #当前服务在注册中心的名称,顺便将服务注册到eureka服务注册中心去
        spring.application.name=服务名称

        #服务注册中心的地址(就是eureka-center项目中的配置)
        eureka.client.service-url.defaultZone=http://localhost:8000/eureka

六、一些实用小技巧

    1、同源策略解决方法

    //url:"/all_comments?pageNum="+page+"&houseId=${house.id}",
    url:"http://localhost:8081/comments/houses/${house.id}?pageNum="+page+"&pageSize=5",
    #在服务端controller上写(允许跨源请求):
    @CrossOrigin(value = "*", maxAge = 3600)

  2、实用PageHelper进行分页

  (1) mapper层返回值使用List<实体>,service层返回值使用PageInfo<实体>
  (2) mapper层方法不写分页参数,service层写(curr,size)两个分页参数
  (3) serviceImpl层,先写PageHelper.startPage(curr, size);
  (4) 使用mapper层的方法获得实体集合list
  (5) 将实体集合放入 PageInfo<实体> info = new PageInfo<>(list);
  (6) 返回info对象

    
    3、Apache Freemarker 常用技巧
    
        ?c  可以解决数字格式含有逗号
        
        !  可以解决${字段}输出为空的报错
        
        ?date  可以设置时间格式
        
        ?string("yyyy-MM-dd HH:mm:ss")  可以设置时间格式
        
        <#assign 变量=值 >  标签可以定义变量
        
        <#if 判断条件 >  标签可以进行条件选择
        
        <#list 集合 as 单个>  类似java的for循环,还可以 <#list ["苹果","香蕉","西瓜"] as 单个>
        
        字段_index  可以取得下标
        
        ${(num?? && num=="${字段}")?string("selected","")}  类似java的三木运算符,?? 代表不为空

 

 

  4、实体类添加后返回主键:
  在mapper.xml中添加方法中添加两个属性:useGeneratedKeys="true" keyProperty="uid"

 

  5、手机号码验证:
   if(!(/^1[3456789]\d{9}$/.test(phone))){
          alert("手机号码错误,请重新填写!"); 
          return false;
      }
 
  6、输入框只能输入数字:
   oninput="value=value.replace(/[^\d]/g,'')"

 

おすすめ

転載: www.cnblogs.com/zz945/p/11941185.html