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依赖即可。
发个小广告!!!走过路过,不要错过!新书来啦!!!
这里有你想买的书!
http://product.dangdang.com/23949549.html#ddclick_reco_reco_relate
麦克叔叔每晚十点说
以上是关于Spring5的主要内容,如果未能解决你的问题,请参考以下文章