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>

<!--引入Web和Test模块-->
<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教程

      

    

posted @ 2022-02-21 16:15  浪淘沙V  阅读(100)  评论(0编辑  收藏  举报