Web应用开发背景
使用Java做Web应用开发已经有近20年的历史了,从最初的Servlet1.0一步步演化到现在如此多的框架,库以及整个生态系统。经过这么长时间的发展,Java作为一个成熟的语言,也演化出了非常成熟的生态系统,这也是许多公司采用Java作为主流的语言进行服务器端开发的原因,也是为什么Java一直保持着非常活跃的用户群。
最受Java开发者喜好的框架当属spring,Spring也成为了在Java EE开发中真正意义上的标准,但是随着新技术的发展,脚本语言大行其道的时代(Node JS,Ruby,Groovy,Scala等),Java EE使用Spring逐渐变得笨重起来,大量的XML文件存在与项目中,繁琐的配置,整合第三方框架的配置问题,低下的开发效率和部署效率等等问题。
这些问题在不断的社区反馈下,Spring团队也开发出了相应的框架:Spring Boot。Spring Boot可以说是至少近5年来Spring乃至整个Java社区最有影响力的项目之一,也被人看作是:Java EE开发的颠覆者(但是不是有点too young,too simple的感觉!)。
Spring Boot解决的问题
(1) Spring Boot使编码变简单
(2) Spring Boot使配置变简单
(3) Spring Boot使部署变简单
(4) Spring Boot使监控变简单
(5) Spring的不足
Spring Boot的干爹和其优点
准确的说,应该是亲爹,但是。。。大家都懂的!
官方地址:http://projects.spring.io/spring-boot/
Spring Boot继承了Spring的优点,并新增了一些新功能和特性:
(1)SpringBoot是伴随着Spring4.0诞生的,一经推出,引起了巨大的反向;
(2)从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架;
(3)SpringBoot帮助开发者快速启动一个Web容器;
(4)SpringBoot继承了原有Spring框架的优秀基因;
(5)SpringBoot简化了使用Spring的过程;
(6)Spring Boot为我们带来了脚本语言开发的效率,但是Spring Boot并没有让我们意外的新技术,都是Java EE开发者常见的额技术。
Spring Boot主要特性
(1)遵循“习惯优于配置”的原则,使用Spring Boot只需要很少的配置,大部分的时候我们直接使用默认的配置即可;
(2)项目快速搭建,可以无需配置的自动整合第三方的框架;
(3)可以完全不使用XML配置文件,只需要自动配置和Java Config;
(4)内嵌Servlet容器,降低了对环境的要求,可以使用命令直接执行项目,应用可用jar包执行:java -jar;
(5)提供了starter POM, 能够非常方便的进行包管理, 很大程度上减少了jar hell或者dependency hell;
(6)运行中应用状态的监控;
(7)对主流开发框架的无配置集成;
(8)与云计算的天然继承;
Spring Boot的核心功能
(1)独立运行的Spring项目
Spring Boot可以以jar包的形式进行独立的运行,使用:java -jar xx.jar
就可以成功的运行项目,或者在应用项目的主程序中运行main函数即可;
(2)内嵌的Servlet容器
内嵌容器,使得我们可以执行运行项目的主程序main函数,是想项目的快速运行;
主程序代码SpringbootDemoApplication.java
package com.xuliugen.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringbootDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootDemoApplication.class, args);
}
}
(3)提供starter简化Manen配置
Spring Boot提供了一系列的starter pom用来简化我们的Maven依赖,下边是创建一个web项目中自动包含的依赖,使用的starter pom以来为:spring-boot-starter-web
Spring Boot官网还提供了很多的starter pom,请参考:
http://docs.spring.io/spring-boot/docs/1.4.1.RELEASE/reference/htmlsingle/#using-boot-starter
(4)自动配置Spring
Spring Boot会根据我们项目中类路径的jar包/类,为jar包的类进行自动配置Bean,这样一来就大大的简化了我们的配置。当然,这只是Spring考虑到的大多数的使用场景,在一些特殊情况,我们还需要自定义自动配置;
(5)应用监控
Spring Boot提供了基于http、ssh、telnet对运行时的项目进行监控;这个听起来是不是很炫酷!
示例:以SSH登录为例
1、首先,添加starter pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-remote-shell</artifactId>
</dependency>
2、运行项目,此时在控制台中会出现SSH访问的密码:
3、使用SecureCRT登录到我们的程序,端口为2000,用户为user:
密码就是刚才的shell access;
但是当我点击连接的时候,出现错误:
显然是SecureCRT的版本不支持,所以就放弃了这个,使用Git Bash:
ssh -p 2000 user@127.0.0.1
剩下的事情,大家自己玩吧!
(6)无代码生成和XML配置
Spring Boot神奇的地方不是借助于代码生成来实现的,而是通过条件注解的方式来实现的,这也是Spring 4.x的新特性。
Spring Boot的快速搭建案例
下边使用的是IDEA快速搭建一个Spring Boot项目
(1)File—-New—New Project
(2)点击Next填写相应的信息
(3)点击Next,选择Dependencies,这里创建Web项目选择—–Web:
(4)点击Next,设置项目名称,这里默认设置,点击Next之后,项目等一下就创建好了
找到应用程序的主函数,运行即可:
注意,在pom文件里的java版本这个要和你的机子上一致!我的是1.7,默认创建项目的时候位1.8:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.7</java.version>
</properties>
案例代码
GitOS 项目地址:
https://git.oschina.net/xuliugen/springboot-demo.git
http://blog.csdn.net/xlgen157387/article/details/52830071
相关推荐
### Spring Boot 入门详解 #### 一、Spring 发展历程与 Java 配置方式 Spring 是一个开源框架,最初由 Rod ...通过对 Spring Boot 的学习和使用,开发者可以更好地专注于业务逻辑的实现,而不是繁琐的基础配置工作。
在Spring1.x时代,开发者大量使用XML文件配置beans,随着项目的不断扩展,XML配置变得越来越复杂,维护成本逐渐增高。为了解决这个问题,从Spring2.x开始,随着JDK1.5引入注解支持,开发者开始使用注解来简化bean的...
**支持分布式事务**:Spring Boot 还支持分布式事务和操作多数据源事务解决方案,为复杂业务场景提供了强大的支持。通过集成 Spring Data 和 JPA 等技术,Spring Boot 可以方便地管理多个数据库连接,并确保事务的...
通过使用 Spring Boot,开发者可以专注于核心业务逻辑的实现,而无需关心复杂的配置问题。同时,Spring Boot 的自动配置特性使得开发者能够快速搭建可运行的应用程序。随着 Spring 框架的不断发展和完善,Java 配置...
Spring Boot 并非意图替代 Spring 框架,而是为开发者提供一个快速构建、部署和管理现代Java应用程序的平台。通过集成大量常用的第三方库并提供开箱即用的功能,Spring Boot 大大减少了开发者编写配置代码的工作量,...
在现代企业级应用程序开发中,微服务架构变得越来越普遍,Spring Boot 和 Spring Cloud 作为构建这些微服务的重要工具,受到了广大开发者的欢迎。本篇将深入探讨如何利用Spring Boot 和 Spring Cloud 开发一个配置...
Spring Boot是当前Java Web开发领域非常流行的一个框架,它主要的目的是简化Spring应用的初始搭建以及开发过程。Spring Boot提供了一系列...随着Spring Boot技术的不断演进,相信它会在IT领域占据越来越重要的位置。
通过以上介绍可以看出,Spring Boot 极大地简化了 Spring 的使用过程,让开发者能够更快地投入业务逻辑的实现,提高了开发效率。无论是对于初学者还是经验丰富的开发者来说,Spring Boot 都是一个非常有价值的工具。
### Spring Boot教程:简化Spring应用开发 ...通过减少配置、自动化部署等特性,Spring Boot为开发者带来了前所未有的便利。无论是对于初学者还是资深开发者来说,Spring Boot都是值得深入学习和掌握的重要工具。
为了解决这个问题,Spring Boot 应运而生,它的目标是让开发者能够更轻松地使用 Spring 和集成各种常用的中间件或开源软件。 #### Spring Boot 的核心思想 Spring Boot 基于“约定大于配置”的原则,为开发者提供了...
Spring Boot Admin应用客户端(SpringBootAdminClient)是客户端应用程序使用的库,用于将应用注册到Spring Boot Admin Server。它负责监控应用的健康状况,并将信息传递给服务器端。 Spring Boot Admin Server还...
### 使用 Spring Boot Actuator 进行应用监控 随着微服务架构的广泛应用,系统变得越来越分散且复杂。在这样的背景下,微服务之间的通信和协作成为常态,这也为问题定位带来了挑战。在这种情况下,如何有效地监控...
通过使用Spring Boot和Swagger,我们可以轻松地为微服务生成详细且易于维护的API文档。这不仅提高了开发效率,也确保了API文档的准确性和及时更新。Swagger的集成和配置相对简单,使得它成为微服务API文档管理的理想...
随着 Spring 框架的发展和功能的增加,Spring 变得越来越复杂,导致开发者需要花费很多时间和精力来配置和设置。Spring Boot 的出现解决了这个问题,它提供了一种简单、快速的方式来构建 Spring 应用程序。 Spring ...
### Spring Boot:微服务入门级框架详解 #### 引言 随着云计算和微服务架构的兴起,企业级...然而,面对更为复杂的企业级应用时,开发者还需要考虑如何整合更多的外部工具和服务来弥补Spring Boot本身的不足之处。
### Spring Boot框架入门详解 #### 一、Spring Boot概述 ...随着Spring Boot的不断发展和完善,其已经成为Java开发领域中不可或缺的一部分,越来越多的企业开始采用Spring Boot来构建高效稳定的Web应用。
在现代Web开发中,API(应用程序编程接口)的使用越来越广泛,它们允许不同的服务之间进行数据交换和功能集成。为了确保API的安全性,开发者通常会采用各种安全框架。本示例将详细介绍如何在Java环境中,利用Spring ...
总结,基于Spring Boot的库存管理系统充分利用了Spring Boot的特性,实现了数据管理、API设计、Web界面、安全控制、监控等多个关键模块,为企业提供了高效、可靠的库存管理解决方案。通过深入理解和掌握这些知识点,...
- **Spring Boot**:Spring Boot简化了Java应用的开发过程,提供了自动配置、启动类等特性,使开发者能够快速搭建并运行应用。 - **Python Flask**:Flask是一个轻量级的Python Web框架,易于上手且功能强大,非常...
Spring Boot为各种常见场景提供了起步依赖,只需要在pom.xml文件中引入对应的依赖即可,无需再手动添加jar包及其版本号。这大大减少了出错的可能性。 #### 3. 内嵌Servlet容器 Spring Boot默认集成了Tomcat、Jetty...