Spring学习之路-SpringBoot简单入门

时间:2023-12-31 19:05:02

  简单讲SpringBoot是对spring和springMVC的二次封装和整合,新添加了一些注解和功能,不算是一个新框架。

  学习来源是官方文档,虽然很详细,但是太墨迹了…

  地址:https://docs.spring.io/spring-boot/docs/1.5.8.RELEASE/reference/htmlsingle/#boot-documentation

  

  我是配合maven来学习的,所以首先是pom.xml的配置,根据官方文档如下:

pom.xml

  <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.8.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

  稍微解释下:

  spring-boot-starter-web会自动引入一些web相关的spring框架,包含tomcat、springframework等等

  spring-boot-devtools相当于webpack中的热重载,可以快速更新资源并在应用中得到响应。

  parent、plugins这两个忘了,反正对我这种菜鸟来说,引入就没错

  接下来是启动一个简单的HelloWorld程序,不按照官网的example来了,直接上最终版:

@SpringBootApplication
public class Application{
public static void main(String[] args) {
SpringApplication app = new SpringApplication(Application.class);
app.run(args);
}
}

  执行该文件后,会启动一个服务器,默认端口8080,打开后会显示一个默认的error页面,如图所示:

 Spring学习之路-SpringBoot简单入门

  这里的@SpringBootApllication注解用在主入口函数上,是三个注解的合体:@Configuration@EnableAutoConfiguration and @ComponentScan

  因为这三个注解一般都是成套出现,所以SpringBoot把他们合成了一个。

  这个只需要关注@ComponentScan注解,这个注解的意思是会对目录下所有的文件进行扫描,功能类似于beans.xml中的:

    <context:component-scan base-package="project"/>

  是的,在主入口函数用了这个注解,连xml文件都省了。

  

  刚才打开的是一个默认的error页面,可以通过配置Controller来处理request请求:

@RestController
public class web {
@RequestMapping("/")
String Home(){
return "<h1>Home Page!!!</h1>";
}
@RequestMapping("/Jimmy")
String Jimmy(){
return "<h1>Jimmy Page!!!</h1>";
}
}

  新建一个java文件,然后代码如上所示,此时打开localhost:8080,会看到:Spring学习之路-SpringBoot简单入门

  如果将连接改成localhost:8080/Jimmy,会看到:Spring学习之路-SpringBoot简单入门

  也就是说,该类被注解为一个Servlet类,用来处理各种请求。而@RequestMapping注解表明请求路径,里面还可以指明method,这里就不做演示了。

  有时候并不希望主页通过这样的方法输出,也可以自定义一个html页面作为首页展示。

  SpringBoot默认会自动扫描/static (or /public or /resources or /META-INF/resources路径下的静态资源,然后将其中的index.html作为首页。

  当然也可以通过自定义路径来指定静态资源路径,这里就演示下 默认扫描:

  Spring学习之路-SpringBoot简单入门

  目录结构如图,最重要的是建一个文件夹,名称为上面列出来的默认项之一,然后往里面丢一个index.html,重启后打开主页可见:Spring学习之路-SpringBoot简单入门

  上面的自定义错误页面比较丑,SpringBoot可以自定义404页面,方式也很简单,在public中新建一个error文件夹,里面放404.html,当出现404错误时,会自动扫描该文件夹下的该页面,如图:

  Spring学习之路-SpringBoot简单入门Spring学习之路-SpringBoot简单入门

  至此,基本的功能都差不多了,官方文档还有很多杂七杂八的,目前也用不上。

  后面还有两章讲SpringBoot与Mysql、Nosql的连接使用,因为暂时没有学数据库,所以跳过。

  完事。