Spring-boot入门01-创建一个简单的springboot项目

Spring-boot入门01

Spring Boot是用来简化Spirng应用开发,约定大于配置,去繁从简的框架,是对Spring整个技术站的大整合.是J2EE开发的一站式解决方案.

Spring boot是对Spring的一个再次封装,所以说学习Springboot一定要对Spring已经掌握.

Spring-boot优点:

  1. 可以快速创建独立运行的Spring项目.
  2. 使用嵌入式的Servlet容器,应用不需要打成WAR包
  3. starters自动依赖与版本控制
  4. 大量的自动配置,简化开发,也可以修改默认值.
  5. 无需配置XML无代码生成,开箱及用
  6. 准生产环境的运行时应用监控
  7. 与云计算天然集成

1.首先创建一个简单的SpringBoot项目HelloWorld

环境搭建

  • Eclipse(带sts插件)2018-12
  • Maven3.3.9
  • Spring boot2.1.3
  • jdk1.8

sts插件在线安装

Help -> Eclipse Marketplace

Search,选择搜索(find)Spring Tool Suite (STS) for Eclipse插件,安装不同的eclipse版本对应的sts不同我这个是以下版本:
在这里插入图片描述

1.新建项目选则创建一个Springboot项目

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

想要启动这个项目直接使用main方法启动

pom文件:

<?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>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.ange</groupId>
	<artifactId>HelloWorld</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>HelloWorld</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
	</properties>

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

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

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

</project>


2.编写一个controller

package com.ange.start;

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

@RestController
public class HelloController {
	@GetMapping("helloWorld")
	public String helloWorld() {
		return "HelloWorld";
	}
}

3.启动启动类;

在这里插入图片描述

4.网页访问一个简单的helloworld项目完成

在这里插入图片描述

2.HelloWord项目分析:

1.POM文件分析

1.helloworld依赖的父项目

在这个helloword项目中它有一个一个父项目spring-boot-starter-parent

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

​ 而spring-boot-starter-paren这个项目也有一个父项目spring-boot-dependencies

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.1.3.RELEASE</version>
        <relativePath>../../spring-boot-dependencies</relativePath>
</parent>

spring-boot-dependencies是spring-boot的版本仲裁中心,它用来管理springboot的所有依赖;所以以后我们导入的依赖是默认不需要写版本的(没有在spring-boot-dependencies中管理的除外);

2.helloworld导入的启动器

helloworld除了它的父项目之外我们还导入了依赖spring-boot-starter-web

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

</dependencies>

spring-boot-starter-web:

我们可以把这个依赖拆成两部分,一个是spring-boot-starter,另一个是web

​ spring-boot-starter:它是spring-boot场景启动器它帮我们导入了web模块正常运行时所依赖的组件.

在Springboot中将所有的功能场景都抽出出来做成一个个starters(启动器),我们只需要在项目中引入这些启动器(starters)相关场景的所有依赖都会被导入进来,要什么功能导入什么场景的启动器即可

其他启动器可以参考springboot官方网站:

https://docs.spring.io/spring-boot/docs/1.5.13.RELEASE/reference/htmlsingle/#using-boot-starter

web则表示它的功能场景

2:主程序类,主入口类分析

package com.ange.start;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

}

@SpringBootApplication:这个注解标注在某个类上说明这个类是springboot的主配置类,Springboot就应该运行这个类的main方法启动springboot项目;

@SpringBootApplication是一个复合注解,包括@ComponentScan,@SpringBootConfiguration,@EnableAutoConfiguration.

  • @SpringBootConfiguration继承自@Configuration,二者功能也一致,标注当前类是配置类,并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到srping容器中,并且实例名就是方法名。
  • @EnableAutoConfiguration的作用启动自动的配置,@EnableAutoConfiguration注解的意思就是Springboot根据你添加的jar包来配置你项目的默认配置.
  • @ComponentScan,扫描当前包及其子包下被@Component,@Controller,@Service,@Repository注解标记的类并纳入到spring容器中进行管理。是以前的context:component-scan(以前使用在xml中使用的标签,用来扫描包配置的平行支持)。所以本demo中的User为何会被spring容器管理。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值