语言介绍
Java作为一门有近20年历史的编程语言,现Java广泛作用于后端服务器应用及大数据应用上。本系统将主要介绍基于Java8版本的快速入门技术。
常用Java术语
面向对象:一种编程范式,一种编程实现的抽象方法,这种思想方法主要以对象为本,从对象本身出发,将应用实现通过对象间的交互来实现。一般面向对象概念有封装、继承和多态三个基本特征。简单来说,通过对相似对象进行封装抽象出共性,同时通过多态技术对同一个抽象进行继承以完成不同的实现。
类:关键字class。在面向对象中,类主要用来定义相似对象的抽象描述。
public class Article{}
接口:关键字interface。在面向对象中,接口主要用来定义一系列有内在关联的动作的集合抽象体。
public interface Audit{}
继承与实现:两者都是用来描述层次关系的。继承用于描述类与类之间的层次关系,实现用于描述类与接口的层次关系。Java可以多个接口,但只能继承一个类。
class WeChatArticle extends Article implement Audit{}
Maven:基于POM概念对软件进行软件项目管理的工具。主要作用于依赖包管理,应用描述,编译及应用层级管理。具体可参考:https://maven.apache.org/index.html
依赖包:Java社区具有丰富的第三方Jar包供使用,比如spring,apache系列,这些包非常成熟,提供了对应领域的多数通用实现,我们只需要在POM文件中进入引入。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
以上为简单的一些Java概念或编程概念,后期我们将从具体的实现中讲述更多的Java概念。
Spring家族三剑客
Spring:一个轻量级的Java对象生命周期管理框架,作为一个框架,后与各种组件一起构建了JavaWeb轻量级应用生态。核心概念:IOC,AOP,MVC及反射等。
Springboot:一个标准的JavaEE应用脚手架。通过它,不需要任何繁琐的xml配置即可以快速构建一个JavaWeb应用。核心概念:开箱即用,约定优先配置。
Springcloud-springboot应用"云"化的一种技术解决方案。核心概念:分布式系统,服务治理。
Springboot快速实现:参见https://start.spring.io/通过一些简单的配置,即可快速搭建一个springboot应用。可参与下图:
点击GENERATE后即可拿到对应的脚手架代码,后期我们将会丰富此脚手架的实现。解压后放到对应代码目录后,通过IntellJ IDEA打开此项目,找到DragonboatApplication直接run即可。
package com.itmokers.dragonboat;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DragonboatApplication {
public static void main(String[] args) {
SpringApplication.run(DragonboatApplication.class, args);
}
}
通过启动日志我们知道我们的项目启动在8080端口,在浏览器中输入localhost:8080/即可访问。由于是初始化项目,你将得到这么一个报错页面。
不要紧,接下来我们快速来进行一些简单的工作就可以实现相关的API请求。代码如下:
package com.itmokers.dragonboat.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@RequestMapping("")
public String hello(){
return "Hello World.";
}
@RequestMapping("/test/hello.json")
public String test(){
return "Hello Test World.";
}
}
我们再次在浏览器输入:localhost:8080 或 localhost:8080/test/hello.json 即可得到如下返回。
关键说明:
1、TestController类所在包位置需要在DragonboatApplication所在包或及子包下。其是由@SpringBootApplication的MapperScan机制决定的。
2、@RestController注解说明这个类的服务类型。@RequestMapping注解主要对具体请求进行说明。
3、Springboot大量使用注解来代替服务申明,其更简明和直接。注解(Annotation)也是Java语言的一个高级特性,后期我们将专题进行解读。
后续通告:
我们将在下期将引入github-mokous中的dragon-boat模块,将实现domain-dao-service的快速实现。同时将会引入vue来实现前端的用户界面。