Spring Boot搭建Web应用

Spring Boot简介

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 用一句话:不用自己做配置,搭建速度快,降低学习门槛。

Spring Boot 在 Spring 生态中的位置:

Spring Boot的特点

  • 为所有Spring开发者更快的入门
  • 不用看那么一坨xml真的很神清气爽
  • 嵌入的Tomcat,无需部署WAR文件
  • 开箱即用,提供各种默认配置来简化项目配置

如:快速在 Java 代码中测试和使用 Spring Boot 的方法:

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;

@RestController
@EnableAutoConfiguration
public class Example {

    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(Example.class, args);
    }

}

Spring Boot使用

打开网址:http://start.spring.io/,按照图中填写信息。

点击Generate Project下载项目压缩包,解压项目包,并用IDE以Maven项目导入

导入Web模块:

在pom.xml中添加:

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

编写Controller类:

publicclassHelenController{ 
@RequestMapping("/hello") 
publicStringindex()
{
return"hello world";
} 
}

这样一个入门的hello 就搭建好了。打开浏览器:http://localhost:8080/hello,你会发现输出:hello word 接下来我们要说说Thymeleaf模板。

引入Thymeleaf模板引擎开发web项目

引入Maven依赖

Controller类及HTML页面

如上页面,直接打开html页面展现Hello World,但是启动程序后,访问http://localhost:8080/,则是展示Controller中host的值:从很小就坏,做到了不破坏HTML自身内容的数据逻辑分离。

Thymeleaf模板

Thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发。它是一个开源的Java库,基于Apache License 2.0许可,由Daniel Fernández创建,该作者还是Java加密库Jasypt的作者。 Thymeleaf提供了一个用于整合Spring MVC的可选模块,在应用开发中,你可以使用Thymeleaf来完全代替JSP或其他模板引擎,如Velocity、FreeMarker等。Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式,因此也可以用作静态建模。你可以使用它创建经过验证的XML与HTML模板。相对于编写逻辑或代码,开发者只需将标签属性添加到模板中即可。接下来,这些标签属性就会在DOM(文档对象模型)上执行预先制定好的逻辑。

Spring Boot整合Spring Security权限

整合Spring Security需要在pom.xml添加依赖

Spring Security配置:

  1. 通过@EnableWebSecurity注解开启Spring Security的功能
  2. 继承WebSecurityConfigurerAdapter,并重写它的方法来设置一些web安全的细节
  3. configure(HttpSecurity http)方法通过authorizeRequests()定义哪些URL需要被保护、哪些不需要被保护。例如以上代码指定了/和/home不需要任何认证就可以访问,其他的路径都必须通过身份验证。
  4. 通过formLogin()定义当需要用户登录时候,转到的登录页面。
  5. configureGlobal(AuthenticationManagerBuilder auth)方法,在内存中创建了一个用户,该用户的名称为user,密码为password,用户角色为USER。

然后在Controller做拦截操作。

结果页面

最后启动http://localhost:8080/就可以啦

附:thymeleaf 中文文档 thymeleaf 基础教程

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LanceToBigData

Flume(一)Flume原理解析

前言   最近有一点浮躁,遇到了很多不该发生在我身上的事情。没有,忘掉这些。好好的学习,才是正道! 一、Flume简介   flume 作为 cloudera ...

1.3K50
来自专栏java学习

Spring学习笔记1_Spring的概述

本章目录 Spring学习笔记1_Spring的概述 1.Spring介绍 2.Spring作用 3.Spring起源 4.Spring体系结构 5.Spri...

32560
来自专栏向治洪

Spring Boot入门

Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用...

37990
来自专栏用户2442861的专栏

通过Spring Boot三分钟创建Spring Web项目

作者:David 链接:https://zhuanlan.zhihu.com/p/20637937 来源:知乎 著作权归作者所有。商业转载请联系作者获得授...

9320
来自专栏王磊的博客

Spring Boot (七)MyBatis代码自动生成和辅助插件

MyBatis Generator 是MyBatis 官方出品的一款,用来自动生成MyBatis的 mapper、dao、entity 的框架,让我们省去规律性...

34110
来自专栏狂码一生

Linux升级现有PHP版本

1.进入终端后查看PHP版本 php -v 输出可能如下: PHP 5.4.35 (cli) (built: Nov 14 2014 07:04:10) Cop...

1.4K100
来自专栏SpringBoot

SpringCloud Eureka

服务发现是基于微服务架构的关键原则之一。尝试配置每个客户端或某种形式的约定可能非常困难,可以非常脆弱。Netflix服务发现服务器和客户端是Eureka。可以将...

14910
来自专栏Java职业技术分享

Spring Boot 面试题精华

Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家.

2.5K40
来自专栏我是攻城师

Spring Boot开发之流水无情(二)

35460
来自专栏一个会写诗的程序员的博客

《Spring Boot 实战开发》 附录 II : Spring Boot 2.0 新特性《Spring Boot 实战开发》 附录 II : Spring Boot 2.0 新特性Kotlin

本节我们介绍 Spring Boot 2.0 版本的众多新特性,内容包括了 M1~M7里程碑版本的核心新功能特性。不过,我们首先把对 Kotlin 的特性的支持...

23730

扫码关注云+社区

领取腾讯云代金券