Pārlūkot izejas kodu

初始化,hello world。

skyfffire 2 mēneši atpakaļ
revīzija
78b3896090

+ 34 - 0
.gitignore

@@ -0,0 +1,34 @@
+target/
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea
+
+### Maven ###
+.mvn
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store

+ 8 - 0
dalian-nft-api.iml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4">
+  <component name="AdditionalModuleElements">
+    <content url="file://$MODULE_DIR$" dumb="true">
+      <excludeFolder url="file://$MODULE_DIR$/.mvn" />
+    </content>
+  </component>
+</module>

+ 153 - 0
pom.xml

@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+
+    <groupId>org.dalian.nft</groupId>
+    <artifactId>dalian-nft-api</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    <packaging>jar</packaging>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.jfinal</groupId>
+            <artifactId>jfinal-undertow</artifactId>
+            <version>2.2</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.jfinal</groupId>
+            <artifactId>jfinal</artifactId>
+            <version>5.0.5</version>
+        </dependency>
+
+        <!--mysql驱动包-->
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <version>8.0.12</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid</artifactId>
+            <version>1.1.6</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+            <version>1.2.28</version>
+        </dependency>
+
+        <dependency>
+            <groupId>javax.validation</groupId>
+            <artifactId>validation-api</artifactId>
+            <version>1.0.0.GA</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <finalName>ethereum_viewer_interface</finalName>
+
+        <!--
+            添加 includes 配置后,excludes 默认为所有文件 **/*.*,反之亦然
+            该规则在 maven-jar-plugin 等插件中同样适用
+        -->
+        <resources>
+            <!-- 添加该配置是为了将 .sql 文件打入 jar 包 -->
+            <resource>
+                <!-- 注意 IDEA maven 多模块下必须要使用 ${project.basedir}/ 前缀  -->
+                <directory>${project.basedir}/src/main/java</directory>
+                <includes>
+                    <!-- **/* 前缀用法,可以匹配所有路径 -->
+                    <include>**/*.sql</include>
+                    <include>**/*.sqlt</include>
+                    <include>**/*.jf</include>
+                </includes>
+            </resource>
+
+            <!--
+                没有添加 resources 配置时,src/main/resources 目录是默认配置
+                一旦添加 resources 配置指向 src/main/java 目录时,原先的默认配置被取代,
+                所以需要添加如下配置将默认配置再添加进来,否则无法使用 src/main/resources
+                下的资源文件
+            -->
+            <resource>
+                <directory>${project.basedir}/src/main/resources</directory>
+            </resource>
+        </resources>
+
+        <!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.6.1</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <encoding>UTF-8</encoding>
+                    <!-- java8 保留参数名编译参数 -->
+                    <compilerArgument>-parameters</compilerArgument>
+                    <compilerArguments><verbose /></compilerArguments>
+                </configuration>
+            </plugin>
+
+            <!--
+                jar 包中的配置文件优先级高于 config 目录下的 "同名文件"
+                因此,打包时需要排除掉 jar 包中来自 src/main/resources 目录的
+                配置文件,否则部署时 config 目录中的同名配置文件不会生效
+            -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <version>2.6</version>
+                <configuration>
+                    <excludes>
+                        <exclude>*.txt</exclude>
+                        <exclude>*.xml</exclude>
+                        <exclude>*.properties</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <version>3.1.0</version>
+                <executions>
+                    <execution>
+                        <id>make-assembly</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+
+                        <configuration>
+                            <!-- 打包生成的文件名 -->
+                            <finalName>${project.artifactId}</finalName>
+                            <!-- jar 等压缩文件在被打包进入 zip、tar.gz 时是否压缩,设置为 false 可加快打包速度 -->
+                            <recompressZippedFiles>false</recompressZippedFiles>
+                            <!-- 打包生成的文件是否要追加 release.xml 中定义的 id 值 -->
+                            <appendAssemblyId>true</appendAssemblyId>
+                            <!-- 指向打包描述文件 package.xml -->
+                            <descriptors>
+                                <descriptor>package.xml</descriptor>
+                            </descriptors>
+                            <!-- 打包结果输出的基础目录 -->
+                            <outputDirectory>${project.build.directory}/</outputDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>

+ 11 - 0
src/main/java/common/interceptor/AuthInterceptor.java

@@ -0,0 +1,11 @@
+package common.interceptor;
+
+import com.jfinal.aop.Interceptor;
+import com.jfinal.aop.Invocation;
+
+public class AuthInterceptor implements Interceptor {
+    @Override
+    public void intercept(Invocation invocation) {
+        invocation.invoke();
+    }
+}

+ 42 - 0
src/main/java/common/jfinal/AppConfig.java

@@ -0,0 +1,42 @@
+package common.jfinal;
+
+import com.jfinal.config.*;
+import com.jfinal.server.undertow.UndertowServer;
+import com.jfinal.template.Engine;
+import modules.hello.HelloController;
+
+public class AppConfig extends JFinalConfig {
+    public static void main(String[] args) {
+        UndertowServer.start(AppConfig.class, 8888, true);
+    }
+
+    @Override
+    public void configConstant(Constants constants) {
+
+    }
+
+    @Override
+    public void configRoute(Routes routes) {
+        routes.add("/", HelloController.class);
+    }
+
+    @Override
+    public void configEngine(Engine engine) {
+
+    }
+
+    @Override
+    public void configPlugin(Plugins plugins) {
+
+    }
+
+    @Override
+    public void configInterceptor(Interceptors interceptors) {
+
+    }
+
+    @Override
+    public void configHandler(Handlers handlers) {
+
+    }
+}

+ 12 - 0
src/main/java/modules/hello/HelloController.java

@@ -0,0 +1,12 @@
+package modules.hello;
+
+import com.jfinal.aop.Before;
+import com.jfinal.core.Controller;
+import common.interceptor.AuthInterceptor;
+
+@Before(AuthInterceptor.class)
+public class HelloController extends Controller {
+    public void index() {
+        renderText("Hello DaLian.");
+    }
+}