SpringBoot快速入门(实战篇一)
2021-03-11 12:31
标签:解决 新建 反转 决定 web应用 java应用 j2ee 自动化 目录 Spring 诞生时是 Java 企业版(Java Enterprise Edition,JEE,也称 J2EE)的轻量级代替品。无需开发重量级的 Enterprise JavaBean(EJB),Spring 为企业级Java 开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java 对象(Plain Old Java Object,POJO)实现了 EJB 的功能。虽然 Spring 的组件代码是轻量级的,但它的配置却是重量级的。 (IOC容器--控制反转 AOP-面向切面编程) 所有这些配置都代表了开发时间的损耗。 因为在思考 Spring 特性配置和解决业务问题之间需要进行思维切换,所以写配置挤占了写应用程序逻辑的时间。除此之外,项目的依赖管理也是件吃力不讨好的事情。决定项目里要用哪些库就已经够让人头痛的了,你还要知道这些库的哪个版本和其他库不会有冲突,这难题实在太棘手。并且,依赖管理也是一种损耗,添加依赖不是写应用程序代码。一旦选错了依赖的版本,随之而来的不兼容问题毫无疑问会是生产力杀手。 Spring Boot 让这一切成为了过去。 需要注意的是:springboot是一项新的框架--不是一项新的语言和新的技术 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 mian Spring Boot 简化了基于Spring的应用开发,只需要“run”就能创建一个独立的、生产级别的Spring应用。Spring Boot为Spring平台及第三方库提供开箱即用的设置(提供默认设置),这样我们就可以简单的开始。多数Spring Boot应用只需要很少(额外)的Spring配置。我们可以使用SpringBoot创建java应用,并使用java –jar 启动它,或者采用传统的war部署方式。 说白了就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。SpringBoot不是对Spring功能的增强,而是提供一种快速使用Spring的开发方式(全新的开发方式)。 简单,快速,方便 看似不是很麻烦,但是如果说这个项目仅仅做一个很简功能,比如说只是发一个邮件,那么每次都要这么来一遍。 但是如果用SpringBoot实现呢? 很简单只需要用Spring initializr方式创建一个springboot工程配置文件, 使用SpringBoot只需要关注业务逻辑,而不用关注框架! 1.通过idea工具创建工程时,不要选择maven而是要选择spring initializr。然后去勾选相关依赖。 访问:http://locahost:8080/hello 在这个工程中我没有启动tomcat,其实这台电脑就没有装tomcat,但是却可以正常访问localhost:8080,这是SpingBoot以及帮我们集成好的,同时配置文件也是空的! 我们可以打开pom.xml中的parent,并查看 从上面的 相当于我们之前学习的过程中创建的父工程,在之前创建的父工程中,其中一个功能是用来统一管理jar包。这里的父工程其实作用是一样的。 parent的版本和jar包管理,2.以及坐标引入利用maven的依赖传递的性质,共同实现了起步依赖 (1)@SpringBootApplication 该注解是一个组合注解,包括如下注解 (2)@SpringBootConfiguration 通过这段我们可以看出,在这个注解上面,又有一个 (3)@EnableAutoConfiguration 自动配置:自己一般不用修改配置,默认的配置都给配好了。 (1) 语法 格式:key=value 如果是修改SpringBoot中的默认配置,那么key则不能任意编写,必须参考SpringBoot官方文档。 application.properties官方文档: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/ (2)案例 在resources目录下新建application.properties (1)语法 普通数据: 对象数据或map 集合数据1:存储简单类型 集合数据2:存储对象类型 (2)案例 将springboot-demo1中的application.properties换成application.yml,代码如下: 如图: (1)使用注解@Value映射 @value注解将配置文件的值映射到Spring管理的Bean属性值 (2)使用注解@ConfigurationProperties映射 通过注解@ConfigurationProperties(prefix=‘‘配置文件中的key的前缀")可以将配置文件中的配置自动与实体进行映射。 使用@ConfigurationProperties @Compment方式必须提供Setter方法,使用@Value注解不需要Setter方法。 注意使用该注解需要引入如下依赖: SpringBoot快速入门(实战篇一) 标签:解决 新建 反转 决定 web应用 java应用 j2ee 自动化 目录 原文地址:https://www.cnblogs.com/lmhcblog/p/springboot1.htmlSpringBoot快速入门(一)
一SpringBoot简介
1.spring开发经历的阶段
2. springboot简介
二 SpringBoot快速入门
2.1 springboot的好处
用springmvc搭建一个SpringWeb项目则需要以下步骤
2.2 Spring initializr方式搭建SpringBoot工程
@RestController
public class HelloController {
/**
* 请求/hello输出hello springboot!
* @return
*/
@GetMapping(value = "/hello")
public String hello(){
return "hello springboot! ";
}
}
三 SpringBoot原理分析
1 SpringBoot-起步依赖
spring-boot-starter-parent
信息。spring-boot-dependencies
的pom.xml中可以看出,坐标的版本,依赖管理,插件管理已经预先定义好了。SpringBoot工程继承Spring-boot-starter-parent后,已经锁定了版本等配置。起步依赖的作用是进行依赖传递 。用啥取啥,随用随取即可。我们开发中彻底不用关心:jar包的版本、依赖等问题了,大大降低版本冲突,版本过期,更新一个jar一下就需要升级一个tree的jar包。2 SpringBoot-自动配置
@Configuration
注解。通过上面的注释阅读我们知道:这个注解的作用就是声明当前类是一个配置类,然后Spring会自动扫描到添加了@Configuration
的类,并且读取其中的配置信息。而@SpringBootConfiguration
是来声明当前类是SpringBoot应用的配置类,项目中只能有一个。所以一般我们无需自己添加。@EnableAutoConfiguration
告诉Spring Boot基于你所添加的依赖,去“猜测”你想要如何配置Spring。比如我们引入了spring-boot-starter-web
,而这个启动器中帮我们添加了tomcat
、SpringMVC
的依赖。此时自动配置就知道你是要开发一个web应用,所以就帮你完成了web及SpringMVC的默认配置了!四 SpringBoot配置文件使用
1 application.properties
#tomcat port
server.port=8088
#app context
server.servlet.context-path=/test
此时运行,tomcat端口发生了变化,每次请求,需要加上=/test。3.2 application.yml(application.yaml)
说明:
key: value(注意:冒号有一个空格)
示例:
name: tom
#说明:
key:
key1: value1
key2: value2
#示例:
user:
xiaobai:
name: tom
age: 23
addr: beijing
说明:
key:
value1
value2
或:
key: value1,value2
示例:
city:
beijing
anhui
jiangxi
shenzhen
或:
city: [beijing,anhui,jiangxi,shenzhen]
说明:
key:
key1: vlaue1
key2: value2
示例:
student:
- name: zhangsan
age: 23
addr: BJ
- name: lisi
age: 25
addr: SZ
server:
port: 18081
servlet:
context-path: /demo
3 配置文件与配置类的属性映射方式
上一篇:多线程基础-基础实现
下一篇:二维矩阵的算法
文章标题:SpringBoot快速入门(实战篇一)
文章链接:http://soscw.com/index.php/essay/63196.html