一、手把手教你创建springBoot项目

之前就接触过springboot作为框架的项目,但是不是我自己搭建的,当时看了一下结构,和spring项目比,springboot采用注解方式简化了配置,废话不多说,咱们就手动搭建一个简单的springboot项目。

注意:现在springboot几个新版本都是基于JDK1.8的,所以我接下来的几篇文章的讲解,也全部围绕JDK1.8来。

我先讲怎么利用eclipse工具常规的创建一个spring项目,考虑到有些小伙伴急切的想创建一个最简单的项目,我会在再讲一种快速创建springboot项目的方式!

 

搭建过SSM框架的小伙伴可能心里有会感受,就是各种配置比较多:spring本身的配置,springMVC的配置,还有jdbc数据源的配置等等,如果没有搭建过SSM框架的小伙伴,建议你自己搜一搜搭建过程,然后有对比性的看springboot的搭建过程,这样有助于学习。

 

一,先创建一个springboot的maven项目

1.这里我是用的工具是eclipse,所以我们要先下载一个插件(STS),HELP---eclipse Marketplace ,search中搜索 STS,结果见下图:

一、手把手教你创建springBoot项目_第1张图片

然后点击安装就好了,一路next知道完成。完成后重启一下就好!

 

2.安装好了STS插件,就来创建项目:

在项目空白处右键:new--project,然后搜索spring选择如下:

一、手把手教你创建springBoot项目_第2张图片x

下一步:

一、手把手教你创建springBoot项目_第3张图片

注意:一般我们建立web项目,一定要选择war!!!要不然后面自动生成的pom文件中没有spring-boot-starter-web!!

下一步:

选择需要的Dependency,然后点击finish

一、手把手教你创建springBoot项目_第4张图片

在这里我选了MySQL 和mybatis和web  三个依赖,然后点击完成。如果是JDBC或者Oracle,你可以自行选择数据库驱动。

等待创建项目,要等一段时间,因为在下载jar。

下面是项目的主要结构:

一、手把手教你创建springBoot项目_第5张图片

大家可以打开pom文件,可以看到以下几个部分:


    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.1.RELEASE
        
    

    com.example
    demo
    0.0.1-SNAPSHOT
    war
    demo
    Demo project for Spring Boot

    
        1.8
    

    


        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-tomcat
            provided
        


       
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.3.2
        

        
        
        
            mysql
            mysql-connector-java
            runtime
        

        
        
    

    
        


            
                org.springframework.boot
                spring-boot-maven-plugin
            

        
    


 

PS:更多的依赖我会在后面的章节中给大家讲解,目前的上述几个配置能满足我们最低的要求了。

接下来我们创建一个简单的controller;

一、手把手教你创建springBoot项目_第6张图片

 

然后启动,那怎么启动呢?看上图的DemoApplication.java,这个类是springBoot的启动类:

一、手把手教你创建springBoot项目_第7张图片

看到里面的main函数,右键--run as--Spring boot App,就开始启动了,结果报错了,如下:

一、手把手教你创建springBoot项目_第8张图片

这是因为我们在创建项目的时候添加了数据库驱动依赖(MySQL),当项目启动的时候,springboot就会创建数据源,但是我们又没有做任何的数据源连接配置,解决方式:

(1)把pom文件中的数据库依赖注释掉;(我们可以暂时不用连接数据库)

(2)让springBoot启动的时候不去自动创建数据源:

改成@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

再启动就可以了!(如果遇到端口冲突,杀一下进程就好了,参考:https://blog.csdn.net/q343509740/article/details/80821409)

一、手把手教你创建springBoot项目_第9张图片

注意:我的URL里没有添加项目名,为什么呢?有很多人刚接触springboot做测试时候,在访问的时候肯定加上了项目名称,结果肯定是404。

答案:

SpringMVC的运行方式是将打成的war包放到tomcat中运行,这种情况下访问需要在url中加入项目名。SpringBoot同样可以打成war包部署,但也提供了另一种方式:直接执行public static void main()函数并启动一个内嵌的应用服务器(取决于类路径上的依赖是Tomcat还是jetty)来处理应用请求,这时是不需要添加项目名的。
 

 

====================================快速创建简单的springboot项目===================================

maven构建项目

  • 1、访问http://start.spring.io/
  • 2、选择构建工具Maven Project、Spring Boot版本2.1.1以及一些工程基本信息,点击“Switch to the full version.”java版本选择1.8,可参考下图所示:
  • 一、手把手教你创建springBoot项目_第10张图片
  • 3、点击Generate Project下载项目压缩包
  • 4、解压后,使用eclipse,Import -> Existing Maven Projects -> Next ->选择解压后的文件夹-> Finsh,OK done!

项目结构介绍

 

Spring Boot的基础结构共三个文件:

  • src/main/java 程序开发以及主程序入口
  • src/main/resources 配置文件
  • src/test/java 测试程序

另外,spingboot建议的目录结果如下:
root package结构:com.example.myproject

com
  +- example
    +- myproject
      +- Application.java
      |
      +- domain
      |  +- Customer.java
      |  +- CustomerRepository.java
      |
      +- service
      |  +- CustomerService.java
      |
      +- controller
      |  +- CustomerController.java
      |
  • 1、Application.java 建议放到根目录下面,主要用于做一些框架配置
  • 2、domain目录主要用于实体(Entity)与数据访问层(Repository)
  • 3、service 层主要是业务类代码
  • 4、controller 负责页面访问控制

采用默认配置可以省去很多配置,当然也可以根据自己的喜欢来进行更改
最后,启动Application main方法,至此一个java项目搭建好了!

引入web模块

1、pom.xml中添加支持web的模块:


        org.springframework.boot
        spring-boot-starter-web
 

pom.xml文件中默认有两个模块:

spring-boot-starter :核心模块,包括自动配置支持、日志和YAML;

spring-boot-starter-test :测试模块,包括JUnit、Hamcrest、Mockito。

2、编写controller内容:

@RestController
public class HelloWorldController {
    @RequestMapping("/hello")
    public String index() {
        return "Hello World";
    }
}

@RestController 的意思就是controller里面的方法都以json格式输出,不用再写什么jackjson配置的了!

3、启动主程序,打开浏览器访问http://localhost:8080/hello,就可以看到效果了,有木有很简单!

 

 

==========好了,学习到这里是不是觉得springBoot很简单啊,但是有很多细节一定要理解===========

1.DemoApplication这个类(名称可能有所区别,这个是启动类)一定要在目录的最上层,或者你的controller,service等代码的目录层级一定要比DemoApplication的目录要低,也可以同级!为什么?

答案:因为springBoot之所以简单,就是因为DemoApplication这个启动类,可以当做是一个spring容器!当这个类的main执行,它会按照规则加载它下面的所有东西并进行管理!其实和spring的道理一样。

大家可以试试,如果把我们刚建立的controller转移到DemoApplication的上级目录或者上级目录的子目录中,你再去访问就会404!

2.因为springBoot默认使用了自带的tomcat,默认的端口8080,很多时候会和别的项目端口冲突,这时候我们可以修改端口,很简单,我们下一章会讲到;

3.如何去配置项目的数据源,相比于spring,也很简单,关于配置的问题,我们在第三章(https://blog.csdn.net/qq_32317661/article/details/85784923)会讲到!

那么接下来第二章,我们讲一下,替换springboot自带的tomcat,使用我们自己的tomcat容器发布项目,地址:

https://blog.csdn.net/qq_32317661/article/details/85708032

如果你需要创建springboot+maven的父子级项目,请看我这篇文章

https://blog.csdn.net/qq_32317661/article/details/102967216

 

江湖险恶,我从来都不轻易留下我的名字------周星驰

你可能感兴趣的:(SpringBoot)