SpringBoot原理与Maven高级

发布时间 2023-08-28 03:46:19作者: 何平安

冷知识:学Java要掌握的英语单词还有点多:Java程序员必背英语单词70个_编写背单词程序java_✪龍行天下✪的博客-CSDN博客

配置文件优先级:properties>yml>yaml,在企业开发中,yml为目前的主流。cmd命令行参数级优先级要高于JAVA系统参数级

—Bean的管理—

从IOC容器获取bean

springboot启动时会自动创建bean对象,获取bean对象三种方法:

@Test
public void testBean(){
//根据bean的名称获取
 DeptController bean1= (DeptController) applicationContext.getBean("deptController");
System.out.println(bean1);

//根据bean的类型获取
 DeptController bean2= applicationContext.getBean(DeptController.class );
System.out.println(bean2);

//根据bean 的名称及类型获取
 DeptController bean3 =applicationContext.getBean("deptController", DeptController.class);
System.out.println(bean3);
}

运行后可以发现输出的bean对象都是一样的,这就说明默认只创建了一个实例对象。

bean的作用域

主要的作用域:singletion:容器内同 名称 的bean 只有一个实例(默认);prototype每次使用该bean时会创建新的实例.

@Lazy注解可以延缓初始化,延迟到第一次使用的时候

设置作用域注解:在DeptController上创建主机呃呃:@Scope(“prototype”),这时再运行bean就不一样了。

第三方类bean(了解)

在配置类使用@Bean注解

—SpringBoot原理—

底层原理有两个,一个是起步依赖,一个是自动配置。

起步依赖就是导入最高级的jar包,然后通过Maven传递依赖的包,就把整个springboot的依赖导入进来了。