Spring Boot 初识

发展到今天,spring已经是一个大家族了,如果想要使用其中的两到三个组件就会有多复杂的配置,有时候还有会版本不一致的错误,让人很无奈。于是,就有了spring Boot,spring  Boot  的创建 就是为了简化spring的配置。用了spring Boot 连web容器都不用配置,spring Boot支持常用的web 容器 Tomcat、Jetty等。 下面我们就来创建一个简单的spring Boot应用。

我用的是Idea,创建步骤就是  File --》New --》project--》spring  Initalizaer  next next next  finish就可以。

spring Boot还对以下NoSql支持,比如redis,MongoDB,Neo4jspring Boot 对数据库连接的支持有 JPA,Hibernate,Spring JDbc。spring Boot 还支持 多个数据库连接。

等会系统就会自动生成文件application.properties, 这时候 这个文件是空的。还有FirstSpringBootApplication.java和FirstSpringBootApplicationTests.java。再打开pom.xml 就会发现里面已经注入了一些依赖,External Libraries里也已经自动引入了一些依赖包。我们可以看到pom.xml文件里的内容是这个样子的。

<?xml version="1.0" encoding="UTF-8"?><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.example</groupId>   <artifactId>demo</artifactId>   <version>0.0.1-SNAPSHOT</version>   <packaging>jar</packaging>

<name>FirstSpringBoot</name>   <description>Demo project for Spring Boot</description>

<parent>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-parent</artifactId>      <version>2.0.0.M4</version>      <relativePath/> <!-- lookup parent from repository -->   </parent>

<properties>      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>      <java.version>1.8</java.version>   </properties>

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

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

</dependencies>

<build>      <plugins>         <plugin>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-maven-plugin</artifactId>         </plugin>      </plugins>   </build>

<repositories>      <repository>         <id>spring-snapshots</id>         <name>Spring Snapshots</name>         <url>https://repo.spring.io/snapshot</url>         <snapshots>            <enabled>true</enabled>         </snapshots>      </repository>      <repository>         <id>spring-milestones</id>         <name>Spring Milestones</name>         <url>https://repo.spring.io/milestone</url>         <snapshots>            <enabled>false</enabled>         </snapshots>      </repository>   </repositories>

<pluginRepositories>      <pluginRepository>         <id>spring-snapshots</id>         <name>Spring Snapshots</name>         <url>https://repo.spring.io/snapshot</url>         <snapshots>            <enabled>true</enabled>         </snapshots>      </pluginRepository>      <pluginRepository>         <id>spring-milestones</id>         <name>Spring Milestones</name>         <url>https://repo.spring.io/milestone</url>         <snapshots>            <enabled>false</enabled>         </snapshots>      </pluginRepository>   </pluginRepositories>

</project>
这个时候的pom.xml 是不能够满足我们需要的,我们还需要添加一个spring boot对spring web的依赖支持。
<!-- spring -web 的spring boot支持--><dependency>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-starter-web</artifactId></dependency>

这个时候,我们需要在application.properties里面添加一些server信息。
server.port= 9696

我们再在FirstSpringBootApplication.java里面添加如下代码。

然后运行main方法,整个服务就启动了。

在浏览器里输入地址localhost:9696

就可以看到控制台打印了 Hello World

这样一个简单的spring Application  就已经开发完成了。

这个时候,我们可以查看控制台打印信息,发现默认用的tomcat,如果你想用jetty可以在pom.xml里添加如下依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jetty</artifactId>
</dependency>就会使用jetty

接下来 我们加入数据库连接,使用Jpa.我们需要在pom.xml中加入相应的依赖。
<dependency>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-starter-data-jpa</artifactId></dependency>

<dependency>   <groupId>mysql</groupId>   <artifactId>mysql-connector-java</artifactId></dependency>

首先要在application.properties文件里添加数据库的属性

然后写一个Userwe实体并生成getter和setter方法。

然后写一个接口userDao 继承JpaRepository 里面的代码就可以不用写了

再写一个UserAction来测试以下,我们的数据库连接。

然后在浏览器里输入localhost:9696/addUser?username=xx&password=xx

就会看到控制台有打印信息。

再从数据库中查询,就看到这个用户已经插入到数据库中了。

到现在,整个入门案例就完了。有没有发现spring Boot很简单。

补充一点,spring Boot提供自己的测试方法。

我们来看下代码和打印结果,你就知道和以前的junit和Spring Test有什么不同了。(HelloAction 只是打印 Hello World 和返回Hello World)

我们来看下运行结果:

Hello World!

MockHttpServletRequest:
HTTP Method = GET
Request URI = /hello
Parameters = {}
Headers = {Accept=[application/json]}
Body = <no character encoding set>
Session Attrs = {}

Handler:
Type = com.example.demo.HelloAction
Method = public java.lang.String com.example.demo.HelloAction.sayHello()

Async:
Async started = false
Async result = null

Resolved Exception:
Type = null

ModelAndView:
View name = null
View = null
Model = null

FlashMap:
Attributes = null

MockHttpServletResponse:
Status = 200
Error message = null
Headers = {Content-Type=[application/json;charset=ISO-8859-1], Content-Length=[12]}
Content type = application/json;charset=ISO-8859-1
Body = Hello World
Forwarded URL = null
Redirected URL = null
Cookies = []

是不是比我们平常用的Junit返回的东西要更全面。所以,速度有些慢。



				
时间: 2024-12-10 15:48:22

Spring Boot 初识的相关文章

【Spring Boot&amp;&amp;Spring Cloud系列】Spring Boot初识

一.Spring Boot优点 为Spring开发提供更加简单的使用和快速开发的技巧 具有开箱即用的默认配置功能,能根据项目依赖自动配置 具有功能更加强大的服务体系,包括嵌入式服务.安全.性能指标.健康检查等 绝对没有代码生成,可以不再需要XML配置,即可让应用更加轻巧和灵活 对于第三方技术的使用,提供了非常完美的整合 二.项目创建方式 使用Maven新建项目 使用Spring Initializr新建项目(参见之前的文章) 三.基本依赖配置 1 <parent> 2 <groupId&

Spring Cloud+Spring Boot 自学01

>>>>>>主要内容:Spring Cloud+Spring Boot初识和spring boot环境搭建 >>>>>>欢迎大家指正,发送你的问题一起讨论! 简介: Spring Cloud: Spring Cloud是一个基于Spring Boot实现的微服务架构开发工具.它位微服务架构中涉及的配置管理. 服务治理.断路器.智能路由.微代理.控制总线.全局锁.决策竞选.分布式会话和集群状态 管理等操作提供了一种简单的开发方式. Sr

初识Spring Boot

Spring Boot是什么? Spring Boot 基于Spring,为了解决Spring框架时配置繁多.部署流程复杂.开发效率低等问题.如果说Spring 目标是简化Java开发,那么可以认为Spring Boot 框架的目标是简化Spring的开发. Spring Boot 可以创建独立程序,内嵌了tomcat.jetty等,可以直接启动应用程序而不需要外部的容器.同时,Spring boot 可以自动配置Spring应用,并且将一些框架的依赖包整合起来,如开发web程序只需要引入web

Spring Boot 2 - 初识与新工程的创建

Spring Boot的由来 相信大家都听说过Spring框架. Spring从诞生到现在一直是流行的J2EE开发框架.随着Spring的发展,它的功能越来越强大,随之而来的缺点也越来越明显,以至于发展到后来变得越来越臃肿,使用起来也非常的麻烦.到后来由于过于强调配置的灵活性,有时即使只为了加入一个简单的特性,而需要相当多的XML配置,从而被人们诟病为"配置地狱"! 后来许多优秀的服务端框架涌现出来,比如基于JavaScript的nodeJS,基于Python的Django,Flask

初识Spring Boot (Spring Boot配置文件)

其实作为一个新人呢,本来应该先学习一下Spring再学习SpringBoot的,但是由于个人不懂,就先学习了一下SpringBoot.所以就先记录一下吧,以后不懂得再补充. 1.了解Spring Boot 所谓的SpringBoot就是Spring,只是Spring的使用需要大量的配置才可以,而SpringBoot则是直接提供了这些大量的默认配置,大大减少了我们java码农的工作量:只用少量的配置就可以搭建一个Spring Boot应用. 我初学用的是Spring Boot2.0.4,该版本采用

spring boot actuator专题

spring-boot-starter-actuator模块的实现对于实施微服务的中小团队来说,可以有效地减少监控系统在采集应用指标时的开发量.当然,它也并不是万能的,有时候我们也需要对其做一些简单的扩展来帮助我们实现自身系统个性化的监控需求.下面,在本文中,我们将详解的介绍一些关于spring-boot-starter-actuator模块的内容,包括它的原生提供的端点以及一些常用的扩展和配置方式. /autoconfig:该端点用来获取应用的自动化配置报告,其中包括所有自动化配置的候选项.同

Spring Boot + Jersey

Jersey是一个非常好的Java REST API库.当你用Jersey实现REST的时候,是非常自然的.同时Spring Boot是Java世界中另一个很好的工具,它减少了程序的应用配置(<初识Spring Boot>).这篇博客就介绍下如何将Jersey和Spring Boot结合起来使用. 需要注意的是Jersey本身自带了hk2这样一个DI库,所以,在结合Spring Boot使用的时候,是比较容易搞混淆的.简单的讲,你应该分清楚,哪一部分是由Spring来管理,哪一部分是由Jers

在Spring Boot框架下使用WebSocket实现消息推送

Spring Boot的学习持续进行中.前面两篇博客我们介绍了如何使用Spring Boot容器搭建Web项目(使用Spring Boot开发Web项目)以及怎样为我们的Project添加HTTPS的支持(使用Spring Boot开发Web项目(二)之添加HTTPS支持),在这两篇文章的基础上,我们今天来看看如何在Spring Boot中使用WebSocket. 什么是WebSocket WebSocket为浏览器和服务器之间提供了双工异步通信功能,也就是说我们可以利用浏览器给服务器发送消息,

Spring Boot面试杀手锏————自动配置原理

转:https://blog.csdn.net/u014745069/article/details/83820511 引言不论在工作中,亦或是求职面试,Spring Boot已经成为我们必知必会的技能项.除了某些老旧的政府项目或金融项目持有观望态度外,如今的各行各业都在飞速的拥抱这个已经不是很新的Spring启动框架. 当然,作为Spring Boot的精髓,自动配置原理的工作过程往往只有在“面试”的时候才能用得上,但是如果在工作中你能够深入的理解Spring Boot的自动配置原理,将无往不