SpringBoot笔记(-):入门

简介

 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的为了简化Spring的配置,核心思想是约定大于配置。在开发一个Web项目中只需要引入相关的依赖,而不需要繁琐的配置过程,当然在需要特定配置的地方,只需在配置文件中按照约定格式进行配置就能替代默认的配置,达到简化配置,快速开发的核心诉求。

Web开发

让我们来回顾下在SSH、SSM框架时代我们开发一个Web项目需要哪些开发步骤

  • 配置Web.xml

  • 配置Spring、SpringMvc

  • 配置数据库连接文件 整合Herbnate或Mybatis的数据层操作

  • 配置日志文件 配置完成Tomcat调试

    可以看出,开发一个Web项目的配置还是比较繁琐的,而且当我们开发一个新的项目时相同的步骤还要继续重复。下面,让我们看看用SpringBoot来构建一个Web项目,相信你一定能体会到其中的便捷。

SpringBoot构建

构建一个SpringBoot的项目有多种方式,介绍以下三种并使用其中一种进行构建:

  • 访问 http://start.spring.io/
  • IDEA 构建SpringBoot项目
  • 构建普通的maven项目,引入SpringBoot的相关依赖

IDEA构建(JDK1.8以上,IDEA,Maven3.0)
打开Idea-> new Project ->Spring Initializr ->填写group、artifact ->钩上web(开启web功能)->点下一步就行了。

SpringBoot目录结构

src--
    main--
         java--代码
             com.root
                 controller--控制层
                 service--业务层
                 model--数据层
                 domain--实体层
                 ApplicationRun.java --主启动类 
         resources--资源
             static--静态资源
             template--动态模板
             application.yml--配置文件,亦可放在config目录下

查看依赖(通过maven项目构建,只需引入相关)

<!--引入SpringBoot父依赖-->
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.10.RELEASE</version>
</parent>

<!--引入WebTest模块-->
<dependencies>
  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
   </dependency>
   <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-test</artifactId>
       <scope>test</scope>
    </dependency>
</dependencies> 

控制层代码

@RestController
public class HelloWorldController {
    @RequestMapping("/hello")
    public String index() {
        return "Hello World";
    }
}
  • RestController --直接返回json数据格式,默认使用jackson,相当于Controller+RequestMapping组合
  • 直接浏览器访问localhost:8080/hello,就能看到结果

单元测试:
@RunWith(SpringRunner.class)和@SpringBootTest注解。

@RunWith(SpringRunner.class)
@SpringBootTest
public class HelloTests {

  
    private MockMvc mvc;

    @Before
    public void setUp() throws Exception {
        mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build();
    }

    @Test
    public void getHello() throws Exception {
        mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isOk())
                .andExpect(content().string(equalTo("Hello World")));
    }

} 

此处应该看到SpringBoot的简便之处了吧:

  • Spring的相关配置完全省略…
  • Web相关配置完全省略…
  • Tomcat配置完全省略,因为SpringBoot内置了tomcat…

结语

SpringBoot大幅简化Web项目开发,使开发人员能够专注于项目业务,非常适合快速迭代,契合当前流行的微服务趋势。后续我们还将继续介绍SpringBoot的其他功能,喜欢的可以点个心心。
参考资料:
纯洁的微笑: Springboot系列文章
方志朋: SpringBoot教程

你可能感兴趣的:(SpringBoot,spring,boot,java,intellij-idea)