SpringBoot入门学习
什么是SpringBoot:
是其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置
回顾Spring的三大特征:
1.IOC(控制反转):Ioc—Inversion of Control 控制反转的意思就是说把我们的Bean交给Spring去管理,对象的实例化和依赖关系管理都由IOC容器进行统一管理
DI-Dependency Injection其实就是IOC的一种类型,依赖注入的目的是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台
即面向切面编程,可以说是面向对象的补充和完善。AOP采取横向抽取机制,替代了传统纵向继承体系重复性代码。在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等。
SpringBoot注解编程IOC:
1.组件的注册:
<dependency>
</groupId>
</artifactId>
</version>
</dependency>
(2)创建一个config类配置@Configuration 表名这是Spring的注解类,在注解类里面写一个返回值为你需要创建Bean的方法
(3)进行测试:这里我们先用junit来测试
ComponentScan注解的意思好像我们之前在xml配置的<context:component-scan base-package="包名"是一样的效果,他的作用就是告诉Spring需要去扫描那些包 默认扫描当前包和子包
基本语法:
高级语法:
组件的生命周期:
bean的生命周期 - 创建 - 初始化 - 销毁
1.创建单实例:在容器创建的就是固定的bean
2.创建多实例:在每次使用的时候会创建
3.初始化:在容器创建好完成初始化
4.单实例的销毁:bean容器关闭时销毁
5.多实例的销毁:没有受Spring的管理有自己决定
@Impor注解:
SpringBoot入门: 官网https://spring.io/projects/spring-boot/
1.为什么要使用SpringBoot:
它的出现解决了传统spring项目以下的问题:
配置负责繁多
每一个组件集成spring都需要编写对应配置文件,比如appplicationContext-xxx.xml
混乱的依赖管理
在spirng中想集成对应组件时,需要导入N多的pom,并且还有考虑版本。
我们使用SpringBoot创建java应用,只需填写很少配置和依赖就能快速搭建,并使用java –jar 启动它,就能得到一个生产级别的web工程。非常方便
2.SpringBoot特点:
主要目标是:
为所有 Spring 的开发者提供一个非常快速的、广泛接受的入门体验
开箱即用(启动器starter-其实就是SpringBoot提供的一个jar包),但通过自己设置参数(.properties),即可快速摆脱这种方式。
提供了一些大型项目中常见的非功能性特性,如内嵌服务器、安全、指标,健康检测、外部化配置等
绝对没有代码生成,也无需 XML 配置
3.入门代码
创建普通maven项目:
导包:
<dependencyManagement> <dependencies> 版本管理,springboot相关模块引入是就不需要制定版本了--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.0.5.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
<parent> <artifactId>springboot_parent</artifactId> <groupId>cn.itsource.springboot</groupId> <version>1.0-SNAPSHOT</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> |
测试代码:
运行类:
SpringBoot自带的tomcat所以你不需要进行tomcat的配置 在运行成功后他的默认端口号为8080:
<dependencyManagement>
<dependencies>
版本管理,springboot相关模块引入是就不需要制定版本了-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>