spring boot----简单入门

x33g5p2x  于2021-11-26 转载在 Spring  
字(3.3k)|赞(0)|评价(0)|浏览(366)

Spring Boot其实就是spring,为了简便spring框架的搭建,快速开发项目而推出的另一种方式。使用spring boot,搭建框架将变得特别快。可以有更多的时间在代码性能上优化了。

一、Spring Boot个人感觉的优点:

​ 1)搭建一个简单运行的框架很快,仅仅就是几个依赖就可以了。

​ 2) 很多的配置,可以不用写XML配置文件,只需要写在一个统一的配置文件里(默认是application.properties/application.yml)或者使用java类的形式写配置类。

​ 3)简化了很多啰嗦的配置,提高项目搭建效率。比如数据库的dataSource、sqlSessionFactory等等。

二、 Spring Boot个人感觉的缺点:

​ 1) 配置不全面,很多以前在XML里的详细配置,到了spring boot里就很难设置的那么详细,当然肯定也有方法设置,比如额外的XML配置可以引入启动。

​ 2) 设置简洁,但是前提也要知道如何设置,很多功能的设置还要从网上一点点的搜出来,不过谁都有第一次,知道如何设置了,下一次搭建起来就感觉很清爽了。

​ 3)默认设置太多,到现在领导让我查下spring boot的内嵌tomcat版本是多少,线程数和连接数,以及内存,这些必要的东西都是多少,应该如何设置。

​ 4)必须依靠Maven那种根据依赖引入jar包的项目管理工具,这我也不知道是缺点还是优点,感觉没有像maven这种工具,它完全发挥不出作用了。

三、Spring boot简单实例----创建可以访问页面的小项目

1、首先创建一个Maven project,在pom.xml里导入如下依赖

<!-- Spring Boot 启动父依赖 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.1.RELEASE</version>
    </parent>
<!-- Spring Boot Web 依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

​ 注意:我们都知道每个项目里都只有一个parent标签,如果你的项目是父子项目(创建方法请看:http://blog.csdn.net/wohaqiyi/article/details/71757480),那这里的parent标签内容就要粘到你的父项目里的pom.xml里即可,如果还有爷爷项目,那就再到爷爷项目里粘上就可以了,哈哈。如果你将以上两个依赖引入后,更新下项目,不出意外,在Maven的jar包里就会有以下内容:

还有下边这张图:


2.通过上边的两张图可以看出来,基本的一个spring 项目所需要的jar包都全了。接着往下说。

Spring Boot项目默认是jar包形式,但是我试了建成war包,也没影响,war包即是可以到tomcat里运行的,但是通过上边的图可以看到spring boot默认有内嵌的tomcat容器,也就是说spring boot运行并不依赖tomcat容器,它的运行是通过一个main方法运行项目的。

首先,它的运行类,应该处在包结构的最上方,如下边这个:

3. 为什么会有这样的要求呢?

​ 传统的spring 项目的bean的初始化都是需要配置扫描位置,即创建各种bean标签等等,这样在容器启动后才能实例这些bean,而spring boot没有那些配置文件,它的扫描,就是从启动类的位置开始,向下级包扫描,将所需的bean纳入它的容器里。

请注意:spring boot可以和很多东西结合,它本身就是个spring 项目,只是方法不同了而已,如果大家在以后运行spring boot项目出现某个bean不存在,或者找不到某个类的情况,请试试把那个类的位置往低级包里放下,可能容器在调用该类的时候,spring boot还没有扫描到这个类,所以出现该类不存在的情况,当然这只是可能的原因。(尤其spring boot与dubbo结合的时候,基本都是这个原因)

4.创建启动类

在项目的靠上位置写一个启动类,如下:

package test.spring;
 
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
 
@SpringBootApplication //spring boot启动必须引入的注解
public class SpringBootTest {
	public static void main(String[] args) {
      SpringApplication.run(SpringBootTest.class, args);
	}
}

关于@SpringBootApplication注解的解释请自己百度下吧。

5.创建Controller

package test.spring.controller;
 
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
   @RequestMapping(value="abc/akf",method=RequestMethod.GET)
  public String abc(String name){
	  return "姓名:"+name;
  }
}

​ Spring Boot里的Controller注解是@RestController,而且它的返回json格式不需要加@ResponseBody注解,默认就是json格式,但是有一点如果你返回的是jsp或者静态页面等等,你还是需要用@Controller注解

6.配置文件

​ Spring Boot配置文件默认就一个,就是application.properties或者application.yml,这是两种书写格式,它的放置位置在src/main/resource下。如下图所示:

以上配置的内容即配置了端口号和项目名称,如果不配置项目名称,默认是/,也就是localhost:8081,如果配置上项目名称,就变成了localhost:8081/springboot

7.启动项目

运行启动类的main方法即可,查看控制台如下:

补充一下上图:可以看到日志打印有一定的规则,其实spring boot默认是用的logback日志打印,但是刚才并没有配置日志的相关信息,这个日志打印来自于哪里呢?

我的Spring Boot是来自于引入的spring-boot-1.5.1.RELEASE.jar,在该jar包里有如下位置:

也就是说它的打印规则其实就是按照这几个文件配置的进行打印。如果想自行配置日志,会在下一篇文章中说spring boot配置logback日志。

8、页面访问

启动完项目之后,访问如下路径,即可获取到返回值。

到此,一个简单的spring boot项目搭建完成。下一篇会说Spring Boot+logback日志的配置。

相关文章