springboot入门(HelloWorld)
# 一简述spring
Spring框架可在任何类型的部署平台上为基于Java的现代企业应用程序提供全面的编程和配置模型。简称一站式开发。
spring 1.x 时代 全是基于 xml 配置的bean,配置繁琐,项目越大配置麻烦。
spring 2.x 时代 jdk1.5发布 引入了注解时代的曙光,主要提供Bean类的注解(@Service @Compent等),减少了Bean的配置
spring 3.x 时代 提供了大量的java配置能力,简化了开发人员的大量配置
spring 4.x 至 spring 5.x时代 都是推荐java配置。
二springboot简述
基于spring即使使用了java配置,但是不得不提的是我们还需要去管理spring容器和管理依赖,解决依赖版本冲突等问题。
应对spring配置的重量太重问题,在spring项目的基础下引入子项目springboot,springboot是基于spring 4.0 ,java配置和注解配置相结合的方式构建项目,我们可以理解springboot是对spring的一种优化的实现。
三springboot的优点
1创建独立的Spring应用程序
2直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件),直接能以jar包形式运行。
3提供了各种start(启动器),以简化构建配置。
4尽可能自动配置Spring和3rd Party库
5提供生产就绪的功能,例如指标,运行状况检查和外部配置。
6完全没有代码生成,也不需要XML配置。
四学习前提
1会maven构建项目
2懂得spring原理
3本次演示使用idea集成开发工具
4 本次演示使用jdk1.8版本
五永远的hello world
5.1创建maven工程
5.2创建项目坐标
5.3创建项目名称和项目选址
5.4在pom.xml添加springboot启动依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/>
</parent>
5.5SpringBoot要集成SpringMVC进行Controller的开发,所以项目要导入web的启动依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
5.6web启动器集成依赖包结构
5.7编写启动类
package com.youku1327.hello;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @Author lsc
* @Description springboot启动类
* @Date 2019/9/21 23:40
* @Version 1.0
*/
@SpringBootApplication
public class HelloWorldApplication {
public static void main(String[] args) {
SpringApplication.run(HelloWorldApplication.class,args);
}
}
5.8编写控制层
/**
* @Author lsc
* @Description hello world 控制层
* @Date 2019/9/21 23:44
* @Version 1.0
*/
@Controller
public class HelloWorldController {
@RequestMapping("/hello/springboot")
@ResponseBody
public String quick(){
return "公众号 youku1327 hello world springboot!";
}
}
5.9启动测试
5.10页面访问
六参考文档和公众号
https://docs.spring.io/spring-boot/docs/2.2.0.BUILD-SNAPSHOT/reference/html/using-spring-boot.html#using-boot-using-springbootapplication-annotation
公众号提供java实际工作技术文档和更多好文章
源码地址关注公众号找到对应文章结尾链接。