开发者学堂课程【SpringBoot 实战教程: SpringBoot 入门程序】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/651/detail/10769
SpringBoot 入门程序
搭建第一个 SpringBoot 入门程序
1、使用 eclipse 创建 maven 工程,点击 project。
2、点击 maven project。
3、不使用骨架创建,点击 next。
4、Group id 输入 com.qianfeng
,Artifact id 输入 SpringBoot _Demo1
,SpringBoot 的特点是不需要打包成war包,仍然可以以web程序方式运行,所以打包方式选择 jar。maven 工程创建完成。
5、在 pom 文件中指定父级依赖,通过学习 maven 知道父工程可以进行 jar 包的管理,springboot 使用的就是这个思路。直接依赖 springboot 提供的父工程,标签是 parent,父工程 jav,使用的 springboot 版本是1.5.6,可以按 ctrl 键看父工程做了什么事情。
<project xmlns="http://maven.apache.org/POM/4.0.O" xmlns:xsi="http: //www.
w
3.org/2001/
<modelVersion>4.0.0</modelVersion>
<groupId>com. qianfeng</groupId>
<artifactId>SpringBoot_ Demo1</artifactId>
<version>0.0.1- SNAPSHOT</version>
<!--父级依赖-->
<parent>
<group
i
d>org . springframework . boot</ gro
upi
d>
<artifact
i
d>spring-boot-starter-parent</artifact
i
d>
<version>1.5.6. RELEASE</version>
</ parent>
</project>
6、父工程通常是对 jar 包进行管理,这里它对所有用到的 jar 包的版本进行管理,比如:
<!-- Dependency versions-->
<activemq. version>5.14.5</activemq. version>
<antlr2.version>2. 7.7</antlr2. version>
<appengine- sdk. version>1.9.54</appengine-sdk. version>
<artemis. version>1.5.5</artemis. version>
<aspectj .version>1.8.10</aspectj . version>
<assertj . version>2.6.0</assertj . version>
<atomikos . version>3.9.3</atomikos . version>
<bitronix. version>2.1.4</bitronix. version>
<caffeine. version>2.3.5</caffeine. version>
<cassandra-driver. version>3.1.4</cassandra-driver. version>
<classmate. version>1.3.3</classmate. version>
<commons -beanutils. version>1.9.3</ commons -beanutils. version>
<commons -collections . version>3.2.2</ commons -collections. version>
<commons-codec. version>1.10</ commons -codec. version>
<commons -dbcp. version>1.4</ commons -dbcp. version>
< commons-dbcp2. version>2.1.1</ commons -dbcp2. version>
7、父工程不会真正依赖,下面只是做依赖的管理,和之前学的父工程的思路是一样的,只不过 springboot 提供了这样一个父工程,就不用自己去写父工程,所有版本,jar 管理都不需要自己写,这样就减少了程序员的工作量。
<dependencyManagement>
<dependencies>
<!-- Spring Boot - - ->
<dependency>
<group
i
d>org . springframework . boot</group
i
d>
<artifact
i
d> spring-boot</artifactId>
<version>1.5.6. RELEASE</version>
</dependency>
<dependency>
<groupId>org . springframework.boot</groupId>
<artifactId>spring-boot</artifactId>
<type>test- jar</type>
<version>1.5. 6. RELEASE</version>
</ dependency>
<dependency>
<groupId>org . springframework. boot</groupId>
<artifactId> spring-boot-test</artifactId>
<version>1.5.6. RELEASE</version>
8、springboot 内部集成的是 springmac 和 spring,使用 springmac 和 spring 的 jar 包,只需要做依赖。在父工程里面有很多依赖,对很多依赖进行管理,搜索spring -boot- starter -web
,这里面包含 springmac 和 spring 的 jar 包。
9、只需要把以下在子工程中真正的依赖上,父工程没有真正依赖,在子工程中依赖它,因为父工程中已经指定了版本,所以在子工程中就不需要指定版本了,把 version 去掉,这个还是 maven 里面所学的内容。
<!--
使用 springmac 和 spring 的 jar 包
-->
<dependenc
ies
>
<dependency>
<groupId>org. spring
f
ramework . boot</ group
i
d>
<arti factId> spring -boot- starter -web</ artifact
i
d>
</ dependency>
</ dependenc
ies
>
</
project
>
10、spring -boot- starter -web 依赖哪些 jar 包?点击 maven dependencies,可以看到常用的内置包,和 tomcat 的包以及 spring 和 springmac 的包,这样 springboot 就依赖上了,只写了一个父级依赖和一个依赖就依赖了这么多 jar 包,很显然这样就减少了程序员的工作量,maven 默认版本是 jre system library j2se-1.5,用 maven 的插件改变 jdk 的版本。使用 jdk1.8。
<build>
<plugins>
<plugin>
<groupId>org . apache . maven .plugins</ groupId>
<artifact
i
d>maven -compiler-plugin</ artifactId>
<confiquration>
<source>1.8</ source >
<target>1.8</ target>
</ configuration>
</plugin>
</plugins>
</build>
11、点击 maven-update project 更新工程。jdk 变成1.8。
12、写一个功能,因为 springboot 内部集成的是 springmac 和 spring,所以写一个 controller,建一个包叫 com.qianfeng.controller。
13、建一个 controller 类,叫 indexcontroller。
14、首先把 controller 注解加上,写一个简单的功能,返回 hello world!,默认找页面,同时指名访问路径
@Controller
public class IndexController {
@RequestMapping("/")
@ResponseBody
public String first ()
{
return"Hello World!" ;
}
}
15、因为是 java 工程,如何以 web 工程进行运行?它内置 tomcat,怎么让它在 tomcat 中运行,需要写 springboot 程序的入口,其实就是 maven 方法。第一个参数是入口所在类的字节码,第二个参数是 maven 方法字符串数组的参数名,springboot 不需要写 xml 配置文件,springboot 可以自动配置,为了让 springboot 自动配置需要在最前面加 EnableAutoConfiguration
开启自动配置,没有写任何的 xml 文件,这样就可以运行,
@EnableAutoConfiguration
@Controller
public class IndexController {
@RequestMapping("/")
@ResponseBody
public String first ()
{
return "Hello World!" ;
/ /入口
public static void main (String[ ] args) {
SpringApplication. run (IndexController.class, args) ;
这个是程序运行的入口,所以要运行这个 maven 方法。
}
16、这个是 springboot 启动的图标,右下显示的是当前使用的版本。
17、最后两行,显示的 tomcat started on port(s):8080(http),说明这是它内置的 tomcat,端口号是8080。
18、现在就可以去访问 controller,端口号是8080,在网页中输入http
://
localhost
:8080/
,就可以看到 hello world。
19、所以这比以前创建一个工程相比较简单的多,而且不需要任何的 xml 文件,这就是第一个 springboot 入门程序。