まず、新しい複雑なプロジェクト(いずれかのチェックなしで、リリースのすべての選挙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的三木运算符,?? 代表不为空
在mapper.xml中添加方法中添加两个属性:useGeneratedKeys="true" keyProperty="uid"
if(!(/^1[3456789]\d{9}$/.test(phone))){
alert("手机号码错误,请重新填写!");
return false;
}
6、输入框只能输入数字:
oninput="value=value.replace(/[^\d]/g,'')"