zoukankan      html  css  js  c++  java
  • 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,Neo4j
    spring 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返回的东西要更全面。所以,速度有些慢。
    
    
    
    






    
    
  • 相关阅读:
    java8之lambda表达式(默认方法)
    结合 CSS3 & Canvas 模拟人行走的效果
    使用 SVG 实现一个漂亮的页面预加载效果
    借助 CSS Colorguard 来避免使用重复的颜色
    网站制作素材:创意的404错误页面下载
    使用 CSS3 打造一组质感细腻丝滑的按钮
    经典!HTML5 Canvas 模拟可撕裂布料效果
    实用工具:检测过时的浏览器并提醒用户更新
    Hya.io – 基于 Web 的数字音频工作站
    SlidesJS
  • 原文地址:https://www.cnblogs.com/yelele/p/7591520.html
Copyright © 2011-2022 走看看