目录
要搞清楚SpringBoot的自动配置原理,要从SpringBoot启动类上使用的核心注解@SpringBootApplication开始分析:
@SpringBootConfiguration注解上使用了@Configuration,表明SpringBoot启动类就是
@EnableAutoConfiguration注解(自动配置核心注解):
SpingBoot原理
配置优先级


优先级
: 命令行参数
>
系统属性参数
> properties
参数
> yml
参数
> yaml
参数
思考:如果项目已经打包上线了,这个时候我们又如何来设置
Java
系统属性和命令行参数呢?
java
-Dserver
.port
=
9000
-jar
XXXXX.jar
--server
.port
=
10010
下面我们来演示下打包程序运行时指定
Java
系统属性和命令行参数:
1.
执行
maven
打包指令
package
,把项目打成
jar
文件
2.
使用命令:
java -jar
方式运行
jar
文件程序
项目打包:
运行
jar
程序:
同时设置
Java
系统属性和命令行参数
仅设置
Java
系统属性
注意事项:
Springboot
项目进行打包时,需要引入插件
spring-boot-maven-plugin (
基于官网
骨架创建项目,会自动添加该插件
)
Bean管理
在前面的课程当中,我们已经讲过了我们可以通过
Spring
当中提供的注解
@Component
以及它的三个衍生注解(@Controller
、
@Service
、
@Repository
)来声明
IOC
容器中的
bean
对象,同时我们也学习了如何为应用程序注入运行时所需要依赖的bean
对象,也就是依赖注入
DI
。
我们今天主要学习
IOC
容器中
Bean
的其他使用细节,主要学习以下三方面:
1.
如何从
IOC
容器中手动的获取到
bean
对象
2. bean
的作用域配置
3.
管理第三方的
bean
对象
获取Bean
默认情况下,
SpringBoot
项目在启动的时候会
自动
的创建
IOC
容器
(
也称为
Spring
容器
)
,并且在启动的过程当中会
自动
的将bean
对象都创建好,存放在
IOC
容器当中。应用程序在运行时需要依赖什么
bean对象,就直接进行依赖注入就可以了。
而在
Spring
容器中提供了一些方法,可以主动从
IOC
容器中获取到
bean
对象,下面介绍
3
种常用方式:
1.
根据
name
获取
bean
Object
getBean
(
String
name
)
2.根据类型获取bean
<
T
>
T
getBean
(
Class
<
T
>
requiredType
)
3.
根据
name
获取
bean
(带类型转换)
<
T
>
T
getBean
(
String
name
,
Class
<
T
>
requiredType
)
思考:要从
IOC
容器当中来获取到
bean
对象,需要先拿到
IOC
容器对象,怎么样才能拿到
IOC
容器呢?
想获取到
IOC
容器,直接将
IOC
容器对象注入进来就可以了
Bean作用域
在前面我们提到的
IOC
容器当中,

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



