Spring Boot入门
1.1 Spring Boot简介
1.1.1 什么是Spring Boot
Spring Boot 是由Pivotal 团队提供的全新框架,其设计目的是用来简化新Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot默认配置了很多框架的使用方式,就像Maven 整合了所有的Jar包,Spring Boot整合了所有的框架。它的核心设计思想是:约定优于配置,Spring Boot所有开发细节都是依据此思想进行实现的。
Spring Boot是一套全新的框架,它来自于Spring 大家族,因此Spring 所有具备的功能它都有并且更容易使用:同时还简化了基于Spring 的应用开发,通过少量的代码就能创建- 个独立的、产品级别的Spring 应用。
1.1.2 Spring Boot的优势
其实简单,快速,方便!如果平时创建一个Spring web项目我们需要怎么做p>
-
配置web.xml,加载spring和spring mvc
-
配置数据库连接、配置spring事务
-
配置加载配置文件的读取,开启注解
-
。。。。
-
配置完成之后部署tomcat 调试
-
。。。。
-
独立运行的Spring项目pring Boot可以以jar包的形式来运行,运行一个Spring Boot项目我们只需要通过java
-jar xx.jar类运行。非常方便。 -
内嵌Servlet容器Spring Boot可以内嵌Tomcat,这样我们无需以war包的形式部署项目。
-
.提供starter简化Maven配置使用Spring或者SpringMVC我们需要添加大量的依赖,而这些依赖很多都是固定的,这里Spring
Boot 通过starter能够帮助我们简化Maven配置。 -
自动配置Spring
-
准生产的应用监控
-
无代码生成和xml配置
SpringBoot开发项目优势
- Snmgor使开发变得简单,提供了丰富的解决方案,快速集成各种解决方案提升开发效率。
- Sringoot使配置变得简单,提供了丰富的Strters集成主流开源产品往往只需要简单的配置即可。 Spring
- Boo使部署变得简单,其本身内嵌启动容器,仅仅需要一个命令即可启动项目,结合Jenkins、 Docker 自动化运维非常容易实现。
- Spring Boot使监控变得简单,自带监控组件, 使用Actuator轻松监控服务各项状态。
1.2快速上手
构建项目
1.可以访问 这个 站 构建Spring Boot.
2.就是使用idea构建
1.打开idea选择File —》New —》 Project 就弹出一个框框
一个简单的项目创建就好了
项目结构介绍
- src/main/java 程序入口
- src/mian/resources 配置文件
- src/test/java 测试程序
- Application.java建议放到根目录下面,是项目的启动类,主要用于做一些框
架配置comm(config)目录建议放置公共类,如全局的配置文件、工具类等 - model(entity)目录主要是实体类
- repository(mapper)主要是数据库访问层代码
- service主要是业务逻辑层代码
- web主要是表示层代码
resources目录下:
- static目录存放web访问的静态资源,如js、Css、图片等
- templates目录存放页面模板
- application.properties存放项目的配置信息
test目录存放单元测试的代码
pom.xml用于配置项目依赖包,以及其他配置
pom 介绍
- groupld,公司域名;
- artifactId,项目名称;
- version,项目版本 ;
- name,项目名称;
- description,项目描述;
编写代码
1.在com.hz.demo.service 包创建 DemoService 接口:
2…在com.hz.demo.service.impl 包创建 DemoServiceImpl 实现类:
2…在com.hz.demo.wen 包创建 HelloController 控制器:
启动项目
声明启动成功
单元测试
1.3Spring Boot核心
约定优于配置
那什么是约定优于配置呢p>
约定优于配置(Convention Over Configuration) ,也称按约定编程,是一种软件设计范式,指在减少软件开发人员需做决定的数量、获得简单的好处,而不失灵活性。
通俗的来讲,就是指开发人员仅需规定应用中不符约定的部分,我们实体(模型)类定义的是User类,那我们数据库中对应的就会默认命名为user,只有在偏离这一约定时,该命名为user_info,这是我们CIA需写有关这个名字的配置。
我们可以按照整体思路来设想,我们约定Controller(控制层)就是Web请求层可以省略MVC的配置,我们约定在Service结尾的类自动注入事务,就可以省略了Spring的(面向切面)切面事务配置。
在Spring体系讲约定优于配置的思想展现的淋漓尽致,小到配置文件、中间件的默认配置,大到内置容器、首页哪个台中的各种Starter,无不遵循此设计规则,Spring Boot 鼓励个软件组织方创建自己的Starter,创建Starter的核心功能,在启动的时候进行自动装配,属性默认化配置。
Starters启动器
Starters是什么h4>
Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成Spring及其他技术,而不需要到处找示例代码和依赖包。如你想使用Spring JPA访问数据库,只要加入spring-boot-starter-data-jpa启动器依赖就能使用了。
Spring Boot sarter基于约定优于配置的理念来设计Spring Boot Sarter中有两个核心组件:自代的和提供自动配置模块及其它有用的依赖。也就意味着当我们项目中引入某个Sae即拥有了此软件的默认使用能力,除非我们需要特定的配置,般情况 下我仅需要少量的配置或者不配置即可使用组件对应的功能。
Spring Boot由众多Starter 组成,随着版本的推移Starter 家族成员也与日俱增。在传统项目中通常将一些层、组件拆分为模块来管理,以便相互依赖复用,在Spring Boot项目中我们则可以创建自定义Spring Boot Starter来达成该目的。
Spring Boot拥有强大融合 区开源软件的能力,在没有使用Spring Boot之前,我们需要按照每个开源软件的特性,将对应的组件包集成到我们的开发项目中,因为每个组件的设计理念和开发团队都不一致,因此会有很多不同的调用风格在我们的项目中。
Spring Boot整合了主流的开源软件形成了一系列的 Starter, 让我们有了一致的编程体验来集成各种软件,Spring Boot在集成的时候做了大量的优化,让我们在集成的时候往往只需要很少的配置和代码就可以完成。可以说各种Starter 就是Spring Boot最大的优势之一。
以下为常用的Spring Boot Starter列表。
@Configuration配置
在前面的学习中,我们几次提到了@Configuration注解,其实@Configuration注解并不属于Spring Boot中新增加的,而是在Spring3.0 中首次出现。
@Configuration注解作用往小了说,因为它里面又包括@Component,可以简单的用来配置一个类,例如我们上一小节,在KtjiaoyuInfo.java 类上使用@Configuration注解,就是将Ktjiaoyulnfo配置为了一个Bean,另外,该类上的@PropertySource注解也是Spring中的一个注解。
@Configuration注解作用往大了说可以替代Spring原来的XML配置文件,相当于XML配置文件中的标签:如果说@Configuration注解相当于XML配置文件中的标签,那么标签由谁表示呢是@Bean注解。
@Configuration+@Bean两个注解,可以用来代替和标签。我们将@Configuration注解使用在类上面,相当于XML配置文件中的,然后在该类中定义一些方法,这些方法需要有相应的返回类型,在这些方法上使用@Bean注解,则表示该方法可产生一个Bean对象,对应标 签的功能。
导入XML配置文件
在使用Spring Boot的时候般是极少需 要添加配置文件的aplicaion.properties除外),但是在实际应用中也会存在不得不添加配置文件的情况,例如集成其他框架或者需要配置- -些中间件等,在这种情况下,我们就需要引入我们自定义的xml配置文件了。
使用方式非常简单,定义一个配置类,例如xxxConfig.java,在该类上使用我们刚刚掌握的Configuration将其屈置为一个配置类, 然后再添加@ImportResiurce{“classpath:xxx.xml”}注解即可,xxx.xml表示我们需要导入的Spring XML配置文件。
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92418 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!