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. 

posted @   安小  阅读(136)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示