SpringBoot
文章目录
- SpringBoot文章目录
- 前言
- 一、springboot是什么?
- 二、重要注解初解讲
- 三、配置文件初讲解
- 总结
一、springboot是什么?
SpringBoot我现在用起来就是简化了很多SpringMVC的配置文件,当然不能只是这么笼统的一说,还是需要根据官方文件,进行简介。
SpringBoot的主要特征:
- 创建独立的Spring应用程序
- 直接嵌入Tomcat(无需部署WAR文件)
- 提供依赖项简化构建配置
- 尽可能自动配置Spring和3rd Party库
- 提供可用于生产的功能,例如指标、运行状况检查和外部化配置
- 没有代码生成,也不需要XML配置
列举了这些主要特征(根据官方文档翻译),其实也还是云里雾里的,那就接下来继续了解详细的讲解。
插个嘴说一下微服务:
一个微服务架构把每个功能元素放进一个独立的服务中,并且通过跨服务分发这些进行扩展,只有在需要时后进行复制。 功能元素的服务 每一个功能元素都是一个可独立替换、独立升级的服务。
二、重要注释初解讲
1.启动类的注解 @SpringBootApplication
//@SpringBootApplication 注解作用:标注一个主程序类-说明这是一个SpringBoot应用
@SpringBootApplication
public class TestApplication{
public static void main(String[] args){
//Spring应用启动起来
SpringBootApplication.run(TestApplication.class)
}
}
/*
@SpringBootApplication -这个注解标注在某个类上就说明和这个类是SpringBoot的主配置类 使用这个类的main方法来启动SpringBoot应用
*/
//点进去查看具体信息
@Inherited
@SpringBootCpnfiguration
@EnableAutoConfiguartion
@ComponentScan(exculdeFilters={
@Filter...
@Filter....
})
public interface SpringBootApplication{
}
/*
@SpringBootConfiguration : 表示SpringBoot的配置类
@Configuration :配置类上的这个注解
配置类 替换 Spring配置文件 依旧是容器中的组件
@EnableAutoConfiguartion:开启自动配置 告诉SpringBoot开启自动配置 就是不需要一大堆配置文件
内含 @AutoConfigurationPackage //自动配置包
@Import(EnableAutoCongurationImportSelector.class)
public interface EnableAutoConfiguration{
...
}
Spring的底层有Import 给容器导入一个组件;导入的组件有AutoConfigurationPackage.Register.class
作用就是SpringApplication所在的类的包 以及包下所有子包里面的所有组件到秒到Spring容器追踪
@Import(EnableAutoCongurationImportSelector.class) 给容器导入组件
EnableAutoCongurationImportSelector.class 导入哪些组件的选择器
将所有要导入的组件以全类名的方式返回 这些组件会添加到容器中
会给容器中导入非常多的自动配置类-就是给容器中导入这个场景所需要的的所有组件,并配置好所有的组件
SpringBoot在启动的时候从类路径下的META-INF/spring.factories中获取EnableAutoConfiguratio指定的值,将这些值作为自动配置类都导入到容器中,自动配置生效
*/
2.注入值的注解 @ConfigurationProperties
//注意这里如果单纯的只是用这个注解 无法进行将配置文件值注入
//理由:只有这个组件式容器中的组件,才能使用容器中的ConfigurationProperties功能
//所有需要加入@Component
//示例配置文件为下面的yml
@Component
@ConfigurationProperties(prefix = "person")
public class Person{
private String name;
private int id;
getXXX()...
setXXX()...
toString()...
}
三、配置文件初讲解
配置文件的作用:修改SpringBoot自动配置的默认值。SpringBoot在底层都给我们自动配置好的。
1)pom.xml(主要描述了项目的maven依赖关系,开发者需要遵循的规则,是项目级别的配置文件),示例如下:
<parent>
<gruopId>org.springframework.boot </gruopId>
<artifactId> spring-boot-starter-parent </artifactId>
<version>1.5.9.RELELASE</version>
</parent>
/*他的父项
真正管理SpringBoot应用里面的所有依赖
好处:版本仲裁中心-导入依赖默认不需要写版本】
但是如果没有在dependencies中是需要申明版本号
*/
<parent>
<gruopId>org.springframework.boot </gruopId>
<artifactId> spring-boot-dependencies </artifactId>
<version>1.5.9.RELELASE</version>
<relativePath>../../spring-boot-dependencies</relativePath>
</parent>
<dependcy>
<groupId>org.springframework.boot</groupId>
<artifactId>sping-boot-starter-web</artifactId>
</dependcy>
/*spring-boot-starter:spring-boot场景启动器,导入开发web正常运行所依赖的组件
SpringBoot将所有的功能场景抽离出来,做成一个个starter(启动器)。
想要使用什么场景,只要在项目中引入这些场景启动器即可*/
2)application.properties 或 application.yml (全局配置文件,配置文件名是固定的)
//YAML (YAML Ain't Markup Language)
//YAWL A Markup Language 和 YAML isn't Markup Language
//注意:XXX:(空格)XXX
server:
port:8080
person:
name: xiaomeng
age: 24
//propertities
server.port = 8080
今天就先讲解到这里,到时候还会在进行补充!