01-信贷路由项目架构和 rose 框架的搭建
1.信贷路由项目架构

2.工程搭建及测试
搭建tyrRouter-parent,tyrRouter-log-web,工程采用 maven 构建
配置 pom.xml 文件,父项目管理 jar 包的版本号, 配置子项目jetty插件(rose 框架和 tomcat 插件不兼容),配置 web.xml, 新建页面 index.html 测试
3.rose 框架的搭建及测试
以tyrRouter-log-web为例搭建rose框架
配置 pom.xml 文件(rose,日志,mysql数据库,单元测试,lombok,filter动态配置)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.tcredit</groupId>
<artifactId>tyrRouter</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>tyrRouter-log-web</artifactId>
<packaging>war</packaging>
<!-- 添加依赖:rose,日志,mysql数据库,单元测试,lombok -->
<dependencies>
<!-- rose -->
<dependency>
<groupId>net.paoding</groupId>
<artifactId>rose</artifactId>
</dependency>
<dependency>
<groupId>net.paoding</groupId>
<artifactId>rose-pipe</artifactId>
</dependency>
<!-- 日志 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
<!-- mysql数据库 -->
<dependency>
<groupId>com.wzzx</groupId>
<artifactId>wzzx-datasource4jade</artifactId>
</dependency>
<!-- 单元测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
<!-- filter 配置 -->
<profiles>
<!-- 开发,默认激活 -->
<profile>
<id>dev</id>
<properties>
<env>dev</env>
<env-s>-dev</env-s>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>mock</id>
<properties>
<env>mock</env>
<env-s>-mock</env-s>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<env>test</env>
<env-s>-test</env-s>
</properties>
</profile>
<profile>
<id>uat</id>
<properties>
<env>uat</env>
<env-s>-uat</env-s>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<env>prod</env>
<env-s></env-s>
</properties>
</profile>
</profiles> <build>
<!-- filter 配置 -->
<finalName>${project.artifactId}-${project.version}</finalName>
<defaultGoal>compile</defaultGoal>
<filters>
<filter>${project.basedir}/filters/${env}/config.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<!--需要过滤的文件-->
<include>*.*</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>*.*</exclude>
</excludes>
</resource>
</resources> <plugins>
<!-- 构建 tomcat7插件,配置端口号8084,
运行方式: 选中项目右键-run as...-maven build.-goals输入:clean tomcat7:run- apply-run
tomcat插件有问题
-->
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.4.v20170414</version>
<configuration>
<scanIntervalSeconds>5</scanIntervalSeconds>
<webApp>
<contextPath>/</contextPath>
</webApp>
<connectors>
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>8080</port>
</connector>
</connectors>
</configuration>
</plugin>
<!-- <plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8080</port>
<path>/</path>
</configuration>
</plugin> -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
配置 filter.dev.config.properties 动态配置(也是项目环境变量,区别开发,测试,生产)
#mysql服务
tyr_host=localhost
tyr_r1_host=localhost
tyr_r2_host=localhost
database=tyr_dev_test #日志
logPath=/Users/mryuan/work/log/stdout.log #加密规则
yzj.appId=20e0c48206fd451b96ccb68702264250123
yzj.tokenId=78902351780041f0b325cecf34aec167102
配置 web.xml 文件(中文字符编码, rose 过滤器(内含自动扫描 applicationContext 文件))
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>tyrRouter-log-web</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- 中文字符编码, rose 过滤器 -->
<!-- 中文字符编码 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- rose 过滤器 -->
<filter>
<filter-name>roseFilter</filter-name>
<filter-class>net.paoding.rose.RoseFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>roseFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
</web-app>
配置 applicationContext-log-web.xml(自动扫描包,前端页面国际化)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<!-- 扫描包 -->
<context:component-scan base-package="com.tcredit.log" />
</beans>
配置 datasource.yaml 文件(数据库相关配置)
#公司环境数据库配置
auth:
admin : admin #######################################
#mysql的默认连接配置 default:
type: mysql
port: 3306
initialSize: 1
maxActive: 20
maxWait: 10000
filters:
- stat
auth: root ####################################### server:
#mysql服务
tyr:
host: ${tyr_host}
tyr_r1:
host: ${tyr_r1_host}
tyr_r2:
host: ${tyr_r2_host} datasource:
tyr:
server: tyr
database: ${database}
auth: tyr
#auth: root
配置 log4j.properties 文件(日志相关配置)
log4j.rootCategory=info,stdout,MAIL log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d %p [%t] %C.%M(%L) | %m%n log4j.appender.stdout=org.apache.log4j.DailyRollingFileAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%t] %C.%M(%L) | %m%n
log4j.appender.stdout.encoding=UTF-8
log4j.appender.stdout.File=${logPath}
log4j.appender.stdout.DatePattern='.'yyyy-MM-dd
#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout ######################send error through email.######################
#log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
#log4j.appender.MAIL.Threshold=ERROR
#log4j.appender.MAIL.SMTPHost=smtp.mxhichina.com
#log4j.appender.mail.SMTPPort=465
#log4j.appender.MAIL.Subject=Systerm Error - tyr-mobile-web
#log4j.appender.MAIL.SMTPUsername=itsupport@tcredit.com
#log4j.appender.MAIL.SMTPPassword=Tcredit.com@2017
#log4j.appender.MAIL.From=itsupport@tcredit.com
#log4j.appender.MAIL.To=creditRouterDev@tcredit.com
#log4j.appender.MAIL.layout=com.tcredit.tyr.core.log4j.TyrHTMLLayout
配置 setting.properties 文件(配置项目所用到的环境变量)
#数据库配置
jade.datasource=datasource.yaml #信用百科授权配置
yzj.appId=${yzj.appId}
yzj.tokenId=${yzj.tokenId}
新建包 controller,service,service.impl,dao,entity新建测试类,启动项目测试
01-信贷路由项目架构和 rose 框架的搭建的更多相关文章
- 项目架构级别规约框架Archunit调研
背景 最近在做一个新项目的时候引入了一个架构方面的需求,就是需要检查项目的编码规范.模块分类规范.类依赖规范等,刚好接触到,正好做个调研. 很多时候,我们会制定项目的规范,例如: 硬性规定项目包结构中 ...
- 02-信贷路由项目rose框架拆分dubbo
项目架构和 rose 框架搭建见 https://www.cnblogs.com/yuanpeng-java/p/9835984.html 1.dubbo 框架架构及组成 2.注册中心安装及配置 h ...
- 01-电子商城项目介绍及ssm框架搭建
1.B2C电商项目功能及架构 1.1功能列表 1.2系统架构(soa架构) 2.后台管理系统工程搭建及测试 ypMall,ypMall-manager-web ypMall为父项目,管理子项目的jar ...
- flask框架实战项目架构
一.项目架构: 研习了多天flask,今天终于按照标准流程写了一个实验demo,并实现了ORM调用,一起喜欢自己写原生SQL.废话不多说,来看项目文件结构 mysite/ ./config/ defa ...
- .NET架构设计、框架设计系列文章总结
从事.NET开发到现在已经有七个年头了.慢慢的可能会很少写.NET文章了.不知不觉竟然走了这么多年,热爱.NET热爱c#.突然想对这一路的经历进行一个总结. 是时候开始下一阶段的旅途,希望这些文章可以 ...
- NET/ASP.NET Routing路由(深入解析路由系统架构原理)(转载)
NET/ASP.NET Routing路由(深入解析路由系统架构原理) 阅读目录: 1.开篇介绍 2.ASP.NET Routing 路由对象模型的位置 3.ASP.NET Routing 路由对象模 ...
- 安居客Android项目架构演进
入职安居客三年从工程师到Team Leader,见证了Android团队一路走来的发展历程.因此有心将这些记录下来与大家分享,也算是对自己三年来一部分工作的总结.希望对大家有所帮助,更希望能得到大家宝 ...
- Angular2.0的项目架构
Angular2.0的项目架构 一.项目服务端app a) Controller控制器 b) Router路由 c) Service服务 d) Public公共样式及脚本和图片等静态资源 e) Vie ...
- 大数据项目之_15_电信客服分析平台_01&02_项目背景+项目架构+项目实现+数据生产+数据采集/消费(存储)
一.项目背景二.项目架构三.项目实现3.1.数据生产3.1.1.数据结构3.1.2.编写代码3.1.3.打包测试3.2.数据采集/消费(存储)3.2.1.数据采集:采集实时产生的数据到 kafka 集 ...
随机推荐
- [NOI2019]弹跳(KD-Tree)
被jump送退役了,很生气. 不过切了这题也进不了队,行吧. 退役后写了一下,看到二维平面应该就是KD树,然后可以在KD树上做最短路,然后建立堆和KDTree.然后每次更新则是直接把最短路上的节点删掉 ...
- F5之LTM入门(转)
原文链接:https://kuaibao.qq.com/s/20180812G02WG200?refer=cp_1026文章来源:企鹅号 - 奕知伴解 什么是负载均衡? 服务器负载均衡器是指设置在一组 ...
- UML-领域模型的精化
拙劣的分类和错误的概括是混乱生活的祸根.--H.G.Wells的总结 1.is-a原则 子类定义的成员变量.方法与超类必须一致.即:不能多,也不能少. 子类是“一种”超类.CreditPayment是 ...
- 移动端— Touch事件轮播图
虽然 以前也写过手机端页面 .当时用的jquery moblie 框架.啥也不懂 就知道复制粘贴出效果 不敢改内部样式.现在呢 了解手机端原理 一些基本的概念 视口 缩放 后 .再去想以前写的页面 ...
- 学生信息管理系统java测试报告
package studentinformation; /**姓名 胡海靖 * 学号 20183609 * 班级 信1805-2 */ class ScoreInformation { private ...
- 关于visual studio和vc版本之间的对应关系
VC6 VC7: Visual studio.net VC7.1: Visual studio 2003 VC8: Visual studio 2005 VC9: Visual studio 2008 ...
- [Algo] 131. Deep Copy Linked List With Random Pointer
Each of the nodes in the linked list has another pointer pointing to a random node in the list or nu ...
- 吴裕雄--天生自然 PHP开发学习:面向对象
<?php class Site { /* 成员变量 */ var $url; var $title; /* 成员函数 */ function setUrl($par){ $this->u ...
- MyBatis从入门到精通(第6章):6.3 使用枚举或其他对象
6.3 使用枚举或其他对象 在 sys_role 表中存在一个字段 enabled,这个字段只有两个可选值,0 为禁用,1 为启用.但是在 SysRole 类中,我们使用的是 Integer enab ...
- @Component, @Repository, @Service,@Controller的区别
@Component, @Service, @Controller, @Repository是spring注解,注解后可以被spring框架所扫描并注入到spring容器来进行管理 @Componen ...