springboot框架的理解_谈谈你对springmvc的理解

springboot框架的理解_谈谈你对springmvc的理解1.起源SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像Maven整合了所有的Jar包,SpringBoot整合了所有的框…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1.起源

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。

2.解决问题

更快速更便捷搭建服务,大大节省工作量,如下:

  • 1)配置 web.xml,加载 Spring 和 Spring mvc
  • 2)配置数据库连接、配置 Spring 事务
  • 3)配置加载配置文件的读取,开启注解
  • 4)配置日志文件
  • 配置完成之后部署 Tomcat 调试 哪怕是一个小的功能可能都需要,这样操作一遍,实在麻烦!!!
  • springboot的引入将让它成为过去式

3.springBoot入门

构建方式比较多,以Idea 构建项目介绍

  • 1、选择 File -> New —> Project… 弹出新建项目的框
  • 2、选择 Spring Initializr,Next 也会出现上述类似的配置界面,Idea 帮我们做了集成
  • 3、填写相关内容后,点击 Next 选择依赖的包再点击 Next,最后确定信息无误点击 Finish。

 

项目结构介绍

springboot2

 

 采用默认配置可以省去很多配置,当然也可以根据自己的喜欢来进行更改

最后,启动Application main方法,至此一个java项目搭建好了!

 

引入 Web 模块

1、pom.xml中添加支持web的模块:

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

pom.xml文件中默认有两个模块:

spring-boot-starter:核心模块,包括自动配置支持、日志和YAML;

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

 

2、编写controller内容

复制代码

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

复制代码

@RestController的意思就是controller里面的方法都以json格式输出,不用再写什么jackjson配置的了!

 

3、启动主程序,打开浏览器访问http://localhost:8080/hello,就可以看到效果了,有木有很简单!

 

如何做单元测试

打开的src/test/下的测试入口,编写简单的http请求来测试;使用mockmvc进行,利用MockMvcResultHandlers.print()打印出执行结果。

复制代码

 

  @RunWith(SpringRunner.class)
  @SpringBootTest

public class HelloWorldControlerTests { 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(MockMvcResultMatchers.status().isOk()) .andDo(MockMvcResultHandlers.print()) .andReturn(); } }

复制代码

开发环境的调试

热启动在正常开发项目中已经很常见了吧,虽然平时开发 web 项目过程中,改动项目启重启总是报错;但 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 非常适合构建微服务。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/171395.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • pip的安装与卸载「建议收藏」

    前言我个人的理解是,pip是一种工具,可以帮助用户安装卸载一些需要的安装包,非常的简单实用,类似于yum下面介绍的是使用系统自带的python来安装pip。安装方法一sudoaptinstallpython-pip方法二wgethttps://bootstrap.pypa.io/get-pip.py#科学上网pythonget-pip.pypyth…

  • ip地址分类和子网掩码「建议收藏」

    ip地址分类和子网掩码「建议收藏」ip地址分类和子网掩码1.ip地址分类A类网络的IP地址范围为1.0.0.1-127.255.255.254;第一个八位是网络地址后三个八位是主机地址。B类网络的IP地址范围为:128.1.0.1-191.255.255.254;第二个八位是网络地址,剩下的三个是主机地址。C类网络的IP地址范围为:192.0.1.1-223.255.255.254;第三个八位是网络地址,剩下的三个是…

  • 基于javaEE的医院病历管理系统的设计与实现[通俗易懂]

    网络的高速发展,促使着数字化医院的建设,现如今大多数医院已经在使用病历管理系统来管理患者电子病历。在医院中,病历记录了医生和患者的诊疗过程,医生可以通过之前病历记载,快速诊断患者,所以病历是医院的重要资产。使用计算机可以提高病历质量,方便存储、查阅、检索等,从而提高病案管理效率,实现病历信息同时异地共享和反复利用。电子病历的推广应用已经势不可挡,未来电子病历需求更高,应用也将继续成熟,市场的竞争也更加激烈。本次毕业设计的题目是基于javaEE的医院病历管理系统的设计与实现。本系统主要运用java编程语言、基

  • 递归简单举例_递归定义举例

    递归简单举例_递归定义举例刚接触递归的同学,可能难以理解递归,难以理解的点可能很多,例如:1.函数为什么可以在自己的内部又调用自己呢?2.既然可以自己调用自己,那么递归运行过程中一定回有很多层相互嵌套,到底什么时候不再嵌套呢?3.递归运行过程中,相互嵌套的多层之间会有参数传递,多层之间是否会相互影响?递归两个要素1.递归边界2.递归的逻辑——递归”公式”递归的过程一定有参数的变化,并且参

    2022年10月28日
  • hive基础总结(面试常用)

    hive基础总结(面试常用)

    2021年11月27日
  • 私有IP地址_ipv6私有地址

    私有IP地址_ipv6私有地址私有IP地址:在ABC三类网络中,如下三段网络地址为私有IP地址,如何人都可以自行在自己的局域网中使用这些IP地址.A类私有:10.0.0.110.255.255.254B类私有:172.16

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号