浅探微服务—springboot(2):解析入门项目

目录

 

一、pom.xml文件解析

二、程序入口类

三、启动项目的三种方式


一、pom.xml文件解析

springboot既然这么神奇,倒要看看它的核心构建文件pom.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>

	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>demo</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.5.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>


</project>

详细介绍:

1.springboot parent 父级依赖

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.5.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
</parent>

这块配置就是Spring Boot父级依赖,有了这个,当前的项目就是Spring Boot项目了,spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖,使用它之后,常用的包依赖可以省去version标签。

PS:maven中GroupID和ArtifactID介绍:

groupId :定义了项目属于哪个组,举个例子,如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp. 
artifacted :定义了当前maven项目在组中唯一的ID,比如,myapp-util,myapp-domain,myapp-web等。 
version :指定了myapp项目的当前版本,SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本。 
name :声明了一个对于用户更为友好的项目名称,不是必须的,推荐为每个pom声明name,以方便信息交流。 

2.spring-boot-starter-xx 起步依赖

比如:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>

starter意味着开箱即用,-web意思是实现web功能。起步依赖还会依赖很多,而springboot秩序添加这个依赖,极大地简化了操作。

3.springboot Maven 插件

maven插件提供很多便捷功能:

·把项目打包成一个可执行的超级JAR(uber-JAR),包括把应用程序的所有依赖打入JAR文件内,并为JAR添加一个描述文件,其中的内容能让你用java -jar来运行应用程序。

·搜索public static void main()方法来标记为可运行类。

二、程序入口类

@SpringBootApplication
public class DemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
}

详细介绍:

1.@SpringBootApplication是Sprnig Boot项目的核心注解,主要目的是开启自动配置

2.main()方法这是一个标准的Java应用的main的方法,主要作用是作为项目启动的入口

新建一个类作为测试:

package com.example.demo;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by Administrator on 2018/9/26.
 */
@RestController
public class HelloWorldController {
    @RequestMapping(name = "/index")
    public String index(){
        return "Hello SpringBoot!";
    }
}

在这里,@RestController注解等价于@Controller+@ResponseBody的结合,使用这个注解的类里面的方法都以json格式输出。

三、启动项目的三种方式

1.Application的main方法:

2.使用命令 mvn spring-boot:run”在命令行启动该应用,IDEA中该命令在如下位置:

3.运行“mvn package”进行打包时,会打包成一个可以直接运行的 JAR 文件,使用“java -jar”命令就可以直接运行。一般打包使用mvn clean install 。

使用git工具在项目目录下右键:git push here,运行如下:

在浏览器输入localhost:8080,显示如下:说明项目已经跑起来了:


本文参考:http://tengj.top/2017/02/26/springboot1/#%E5%BA%94%E7%94%A8%E5%85%A5%E5%8F%A3%E7%B1%BB略微改动,自己阅读方便~

猜你喜欢

转载自blog.csdn.net/harry5508/article/details/82854634