Spring Boot实践总结

Spring Boot实践笔记

1.创建项目,读懂POM文件

创建项目的三种方式:
1.直接创建Maven项目。引入Spring Boot的依赖。
2.在IDEA中使用Spring initial创建项目。
3.在start.spring.io中创建项目,然后再导入到ide中。

问题:在创建项目时SpringBoot1.拉包时没有问题。但是SpringBoot2.存在拉不到包的情况。
解决:我再之后正常创建一次项目,就完全ok了。

2.读懂整个项目结构,并且建立相关开发目录

文件:
*application 项目启动文件
@SpringBootApplication
POM文件中放需要引入包的依赖

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

建立Java代码下的目录结构:
1、Application.java 建议放到根目录下面,主要用于做一些框架配置
2、model 目录主要用于实体与数据访问层(Repository)
3、service 层主要是业务类代码
4、controller 负责页面访问控制

3.了解模块

核心模块(默认):spring-boot-starter
功能:自动配置支持、日志和YAML

web模块
如果引入spring-boot-starter-web可以去掉此配置,因为spring-boot-starter-web自动依赖spring-boot-starter自动依赖
<dependency>

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>

</dependency>

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

4.编写一个测试的Controller

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

此处用到了两个注解:
1.@RestController Controller里面的方法都以json格式输出
2.@RequestMapping 映射地址

启动主程序、打开浏览器访问:http://localhost:8080/hello就可以看到效果

5.如何做单元测试
编写简单的http请求来测试,使用mockmvc进行,利用MockMvcResultHandlers.print()打印出执行结果。

@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.peform(MockMvcRequestBuilders.get("/hello").accept(Media.APPLICATION_JSON).andExpect(status().isOk()).andExpect(content().string(equalTo("Hello World")))
}
}

注解:
@RunWith
@SpringBootTest
@Before
@Test

开发环境的调试

1.热启动
Spring Boot对调试支持很好,修改之后实时生效,需要添加的配置

<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>

该模块在完整的打包环境下运行的时候会被禁用。如果你使用 java -jar启动应用或者用一个特定的 classloader 启动,它会认为这是一个“生产环境”。

使用 Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用 Spring Boot 非常适合构建微服务。

Web开发
Spring Boot Web开发非常的简单,其中包括常用的json输出、filters、property、log等

json接口开发
只需要在类中添加@RestController即可,默认类中的方法都会以json的格式返回。

@RestController
public class HelloController{
    @RequestMapping("/getUser")
    public User getUser(){
    User usr = new User();
    user.setUserName("小明");
    user.setPassword("123456");
    return user;
    }
}

如果需要使用页面开发只需要使用@Controller注解即可

我把之前的小demo @Restcontroller 直接改为@Controller无效了、。

本文链接:

https://heyzen.club/index.php/J/193.html
1 + 8 =
快来做第一个评论的人吧~