zoukankan      html  css  js  c++  java
  • Spring Boot 学习笔记

    参考:SpringBoot教程

      Spring Boot是为了简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。Spring Boot特性如下:

    • 创建独立Spring应用程序
    • 嵌入式Tomcat,Jetty容器,无需部署WAR包
    • 简化Maven及Gradle配置
    • 尽可能的自动化配置Spring
    • 直接植入产品环境下的实用功能,比如度量指标、健康检查及扩展配置等
    • 无需代码生成及XML配置

    一、简单的SpringBoot应用

    1. 新建一个Maven项目

    2. 配置pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.sa.springboot</groupId>
        <artifactId>spring-boot-sample-helloworld</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    
        <!-- 通过继承parent项目获得默认配置,包括默认使用Java 8,UTF-8编码;识别classpath下的application.properties和application.yml等 -->
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.4.0.RELEASE</version>
        </parent>
    
        <!-- 预定义的一些Web开发的常用依赖,包括Tomcat、jackson和spring-webmvc等 -->
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        </dependencies>
    </project>

    3. 编写Controller

    package com.sa.springboot.controller;
    import ...
    
    @RestController // @Restcontroller相当于@Controller(类的注释)和@ResponseBody(方法的注释)的结合,使方法以json格式输出
    @EnableAutoConfiguration // same as @SpringBootApplication,@Configuration,@ComponentScan.它会根据你的pom配置来判断这是一个什么应用(如web应用),并创建相应的环境。
    public class SampleController {
    
        @RequestMapping("/hello")
        String home() {
            return "Hello World!!";
        }
    
        public static void main(String[] args) throws Exception {
            SpringApplication.run(SampleController.class, args); // 从main方法启动Spring应用的类,创建ApplicationContext实例且加载所有单例beans。
        }
    }

    4. 执行main方法,并使用浏览器访问http://localhost:8080/hello

    单元测试

    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class SampleControllerTest {
        private MockMvc mvc;
        @Before
        public void setUp() throws Exception {
            mvc = MockMvcBuilders.standaloneSetup(new SampleController()).build();
        }
        @Test
        public void getHello() throws Exception {
        mvc.perform(MockMvcRequestBuilders.get("/").accept(MediaType.APPLICATION_JSON))
                    .andExpect(MockMvcResultMatchers.status().isOk())
                    .andDo(MockMvcResultHandlers.print())
                    .andReturn();
        }
    }
    View Code

    开发环境的调试:springBoot对调试支持很好,修改之后可以实时生效,需要添加以下的配置:

    <dependencies>
        <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>
                <configuration>
                    <fork>true</fork>
                </configuration>
            </plugin>
       </plugins>
    </build>
    View Code

    二、支持JSP

      springboot内部对jsp的支持并不是特别理想,其推荐的视图是Thymeleaf,但大多数java开发人员还是喜欢使用jsp。使用jsp的步骤如下:

    1. 添加依赖

    <!-- 对jsp的支持 -->
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
    </dependency>
    <!-- jsp对servlet容器的支持  -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
    </dependency>
    <!-- jsp中使用jstl标签的支持  -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>

    2. 

  • 相关阅读:
    对《应试教育》有感
    月总结
    有趣的生活,有趣的比赛
    H5之js拼接select级联优化
    H5之js拼接select与input的级联
    OA-分页查询(抽象最终版)二
    OA-分页查询(抽象最终版)一
    今目标反思
    电子商务运作的随想
    旅游票务网站
  • 原文地址:https://www.cnblogs.com/anxiao/p/8794651.html
Copyright © 2011-2022 走看看