- 1 入门
- 1.2 定义
- 1.3 环境要求
- 1.4.2 新建maven工程
- 1.4.3 修改pom.xml
- 1.4.4 编写服务代码
- 1.4.4 编写启动类
- 1.4.5 编写配置文件
- 1.4.5 创建一个可执行的Jar
1 入门
1.1 背景 ====== 基于JAVA的可用于后端服务开发框架众多,如springMvc,struts2等传统的MVC架构框架;分布式架构框架包括:dubbo,springCloud等,这些框架都是侧重某个领域,但实际应用开发中需要的是众多功能或多个框架的集合,这些往往需要开发者自己集成,在开发效率、升级、维护等存在痛点。如何让开发真正的只关注业务,就需要解决这些问题。
1.2 定义
JCF(J2EE Component Framework,J2EE构件框架)服务层开发框架。基于模块化、标准API快速服务开发(协调一切组件,功能开箱即用、简单配置或无配置)、多协议发布(支持HTTP,SOAP,DUBBO协议,一次编写多种协议发布,架构切换业务代码复用)、内置各种监控指标。
微服务开发框架:协调微服务各组件
1.3 环境要求
软 件 | 要 求 —|— jdk 版本 | 1.8+ Servlet 版本 | 3.0+
1.4 开发你的第一个 JCF3 应用程序
以下使用 intellij idea 作为ide 开发环境
1.4.1 开发环境配置
- 配置maven 插件
- 配置私服地址
1.4.2 新建maven工程
1.4.3 修改pom.xml
打开idea自动生成的pom.xml文件,把下面的pom.xml内容拷贝到至ideapom.xml。
<?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>
<parent>
<groupId>com.sitech.ijcf</groupId>
<artifactId>ijcf-boot-parent</artifactId>
<version>3.1.6.RELEASE</version>
</parent>
<groupId>com.sitech.jcf3</groupId>
<artifactId>demo-helloword</artifactId>
<version>1.0-SNAPSHOT</version>
<name>demo-helloword</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.sitech.ijcf</groupId>
<artifactId>ijcf-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.sitech.ijcf</groupId>
<artifactId>ijcf-boot-dependencies</artifactId>
<version>3.1.6.RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
1.4.4 编写服务代码
package com.sitech.jcf3.demo.service;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @author qianym
* @create 2019/1/31
* @since 3.0
*/
@Service("helloWordService")
public class HelloWordService {
@RequestMapping("/sayhi")
public String sayHi()
{
return "hello jcf3!";
}
}
1.4.4 编写启动类
package com.sitech.jcf3;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App
{
public static void main(String[] args) throws Exception {
SpringApplication.run(App.class, args);
}
}
1.4.5 编写配置文件
在resources目录下创建 application.properties,添加如下内容:
server.port=8090
1.4.5 运行示例 ============ 可以使用开发工具直接运行App类中的main方法。 就会启动一个内置的tomcat容器。 打开浏览器输入地址:http://localhost:8090/sayhi 以上就是使用jcf3开发一个最简单的web应用。
1.4.5 创建一个可执行的Jar
运行maven package后,此时会生成一个 demo-helloword-1.0-SNAPSHOT.jar, 这个jar包只是一个普通的jar包,不是fat jar,不能通过java -jar方式运行。 需要在maven 中添加插件,将应用打成一个独立的fat jar后,可以 java -jar demo_3-5-1-snapshot-1.0-SNAPSHOT.jar 方式直接运行
添加插件步骤如下,打开==pom.xml== 添加如下内容
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<layout>ZIP</layout>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>