Spring5

Posted 麦克叔叔每晚10点说

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring5相关的知识,希望对你有一定的参考价值。

SpringBoot使用示例

步骤1:创建一个基于Maven的Spring Boot应用


建一个Maven项目并配置如下依赖:

<?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/maven-v4_0_0.xsd">

      <modelVersion>4.0.0</modelVersion>

    <groupId>com.sivalabs</groupId>

      <artifactId>hello-springboot</artifactId>

      <packaging>jar</packaging>

      <version>1.0-SNAPSHOT</version>

      <name>hello-springboot</name>

    <parent>

          <groupId>org.springframework.boot</groupId>

          <artifactId>spring-boot-starter-parent</artifactId>

          <version>1.3.2.RELEASE</version>

    </parent>

    <properties>

          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

          <java.version>1.8</java.version>

    </properties>

    <dependencies>

          <dependency>

              <groupId>org.springframework.boot</groupId>

              <artifactId>spring-boot-starter-test</artifactId>

          </dependency>

          <dependency>

              <groupId>org.springframework.boot</groupId>

              <artifactId>spring-boot-starter-data-jpa</artifactId>

          </dependency>

          <dependency>

              <groupId>org.springframework.boot</groupId>

              <artifactId>spring-boot-starter-web</artifactId>

          </dependency>

          <dependency>

              <groupId>org.springframework.boot</groupId>

              <artifactId>spring-boot-starter-thymeleaf</artifactId>

          </dependency>

          <dependency>

              <groupId>org.springframework.boot</groupId>

              <artifactId>spring-boot-devtools</artifactId>

          </dependency>

          <dependency>

              <groupId>mysql</groupId>

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

          </dependency>

    </dependencies>

</project>

   


步骤2:如下在application.properties中配置DataSoure/JPA

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.url=jdbc:mysql://localhost:3306/test

spring.datasource.username=root

spring.datasource.password=admin

spring.datasource.initialize=true

spring.jpa.hibernate.ddl-auto=update

spring.jpa.show-sql=true

您可以将相同的data.sql文件拷贝到 src/main/resources文件加中。


步骤3:为实体创建一个JPA实体和Spring Data JPA资源库接口

与 springmvc-jpa-demo应用一样,创建User.java、UserRepository.java和HomeController.java。


步骤4:创建用于显示用户列表的Thymeleaf视图

从 springmvc-jpa-demo项目中复制之前创建的 /WEB-INF/views/index.html到 src/main/resources/template文件夹中。


步骤5:创建Spring Boot入口类

创建一个含有 main方法的Java类Application.java,如下所示:

@SpringBootApplication

public class   Application

{

    public static void   main(String[] args)

    {

          SpringApplication.run(Application.class, args);

    }

}

现在把 Application.java当作一个Java应用运行,并将您的浏览其指向http://localhost:8080/。


简单解释刚才以上涉及的知识点:

1.简单的依赖管理


我们添加了 spring-boot-starter-data-jpa依赖。它包含了所有的 spring-data-jpa依赖,并且还添加了Hibernate库,因为很多应用使用Hibernate作为JPA的实现。


2.自动配置

  • spring-boot-starter-web不仅添加了这些库,还配置了经常被注册的bean,比如DispatcherServlet、ResourceHandler和MessageSource等bean,并且应用了合适的默认配置。

  • 我们还添加了 spring-boot-starter-Thymeleaf,它不仅添加了Thymeleaf的依赖,还自动配置了ThymeleafViewResolver bean。

  • 虽然我们没有定义任何DataSource、EntityManagerFactory和TransactionManager等bean,但它们可以被自动创建。怎么样?如果在classpath下没有任何内存数据库驱动,如H2或者HSQL,那么Spring Boot将自动创建一个内存数据库的DataSource,然后应用合理的默认配置自动注册EntityManagerFactory和TransactionManager等bean。但是我们正在使用MySQL,所以我们需要明确提供MySQL的连接信息。我们已经在 application.properties文件中配置了MySQL连接信息,Spring Boot将应用这些配置来创建DataSource。


3.支持嵌入式Servlet容器

  • 最重要且最让人惊讶的是,我们创建了一个简单的Java类,标记了一个神奇的注解 @SpringApplication,它有一个main方法。通过运行main方法,我们可以运行这个应用并通过 http://localhost:8080/来访问。


Servlet容器来自哪里?

我们添加了spring-boot-starter-web,它会自动引入 spring-boot-starter-tomcat。当我们运行main()方法时,它将tomcat作为一个嵌入式容器启动,我们不需要部署我们的应用到外部安装好的tomcat上。


顺便说一句,您看到我们在pom.xml中配置的打包类型是jar而不是war。


很好,但是如果我想使用jetty服务器而不是tomcat呢?很简单,只需要从spring-boot-starter-web中排除掉 sprig-boot-starter-tomcat,并包含 spring-boot-starter-jetty依赖即可。

发个小广告!!!走过路过,不要错过!新书来啦!!!

Spring5(二)
Spring5(二)
Spring5(二)

这里有你想买的书!

http://product.dangdang.com/23949549.html#ddclick_reco_reco_relate

麦克叔叔每晚十点说


以上是关于Spring5的主要内容,如果未能解决你的问题,请参考以下文章