<p>Spring Boot是Spring框架的一个扩展项目,旨在简化Spring应用的创建和开发过程。 它通过提供一系列的“启动器”(Starters)来简化项目的配置和依赖管理,使得开发者可以快速搭建和运行基于Spring的应用程序。</p>
讯享网
设置Spring boot的parent
讯享网
说明:Spring boot的项目必须要将parent设置为spring boot的parent,该parent包含了大量默认的配置,大大简化了我们的开发。
-
导入Spring boot的web支持
-
添加Spring boot的插件
讯享网
-
编写第一个Spring boot的应用
- 代码说明:
1、@SpringBootApplication:Spring Boot项目的核心注解,主要目的是开启自动配置。;
2、@Configuration:这是一个配置Spring的配置类;作用相当于spring中的<bean>标签
3、@Controller:标明这是一个SpringMVC的Controller控制器;
4、main方法:在main方法中启动一个应用,即:这个应用的入口;
-
启动应用
在Spring Boot项目中,启动的方式有两种,一种是直接run Java Application另外一种是通过 Spring Boot的Maven插件运行。
第一种:
第二种:

启动效果:

-
测试
打开浏览器,输入地址:

效果:

-
入口类和@SpringBootApplication
Spring Boot的项目一般都会有Application的入口类,入口类中会有main方法,这是一个标准的 Java应用程序的入口方法。
@SpringBootApplication注解是Spring Boot的核心注解,它其实是一个组合注解:

该注解主要组合了以下注解:
1.@SpringBootConfiguration:这是Spring Boot项目的配置注解,这也是一个组合注解:

在Spring Boot项目中推荐使用@ SpringBootConfiguration替代@Configuratio
2.@EnableAutoConfiguration:启用自动配置,该注解会使Spring Boot根据项目中依赖的jar包自动配置项目的配置项:
如:我们添加了spring-boot-starter-web的依赖,项目中也就会引入SpringMVC的依赖,Spring Boot就会自动配置tomcat和SpringMVC

3.@ComponentScan:默认扫描@SpringBootApplication所在类的同级目录以及它的子目录。
-
关闭自动配置
通过上述,我们得知,Spring Boot会根据项目中的jar包依赖,自动做出配置,Spring Boot支持 的自动配置如下(非常多):

如果我们不需要Spring Boot自动配置,想关闭某一项的自动配置,该如何设置呢?
比如:我们不想自动配置Redis,想手动配置。

当然了,其他的配置就类似了。
-
自定义Banner
启动Spring Boot项目后会看到这样的图案:

这个图片其实是可以自定义的:
- 打开网站:http://patorjk.com/software/taag/#p=display&f=Doom&t=qixin%0A%0A
- 拷贝生成的字符到一个文本文件中,并且将该文件命名为banner.txt
- 将banner.txt拷贝到项目的resources目录中:

- 重新启动程序,查看效果
如果不想看到任何的banner,也是可以将其关闭的
讯享网
-
全局配置文件
Spring Boot项目使用一个全局的配置文件application.properties或者是application.yml,在 resources目录下或者类路径下的/config下,一般我们放到resources下。
修改tomcat的端口为8088

重新启动应用,查看效果:


修改进入DispatcherServlet的规则为:.html

测试:


更多的配置:
-
Starter pom
Spring Boot为我们提供了简化企业级开发绝大多数场景的 starter pom,只要使用了应用场景所 需要的starter pom。相关的技术配置将会消除,就可以得到Spring Boot为我们提供的自动配 置的Bean。



-
Xml 配置文件
Spring Boot提倡零配置,即无XML配置,但是在实际项目中,可能有一些特殊要求你必须使用 XML配置,这时我们可以通过Spring 提供的@ImportResource来加载XML配置,例如:
讯享网
-
日志
Spring Boot对各种日志框架都做了支持,我们可以通过配置来修改默认的日志的配置:
格式:
讯享网
Spring Boot在进行SpringApplication对象实例化时会加载META-INF/spring.factories文件, 将该配置文件中的配置载入到Spring容器。

-
原码分析
org.springframework.boot.SpringApplication:


org.springframework.core.io.support.SpringFactoriesLoader:


由此可见,读取该配置文件来加载内容。
-
Spring.factories文件
-
举例:Redis的自动配置
从上述的配置中可以看出, org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration是Redis的自动配置。
内容:


-
条件注解


-
进入规则为/
如果进入SpringMVC的规则为/时,Spring Boot的默认静态资源的路径为:
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
测试:



- 进入规则为*.xxx 或者 不指定静态文件路径时
将静态资源放置到webapp下的static目录中即可通过地址访问:

测试:

-
自定义编码集
自定义消息转化器,只需要在@Configuration的类中添加消息转化器的@bean加入到Spring容器,就会被Spring Boot自动加入到容器中
讯享网


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/191790.html