Spring的炼气之路(炼气三层)

目录

一、容器的介绍

[1.1 创建容器](#1.1 创建容器)

[1.1.1 类路径下的XML配置文件](#1.1.1 类路径下的XML配置文件)

[1.1.2 文件系统下的XML配置文件](#1.1.2 文件系统下的XML配置文件)

[1.2 获取bean](#1.2 获取bean)

[1.2.1 使用baen名称获取](#1.2.1 使用baen名称获取)

[1.2.2 使用bean名称+指定类型](#1.2.2 使用bean名称+指定类型)

[1.2.3 使用bean类型获取](#1.2.3 使用bean类型获取)

二、注解开发

[1.1 注解开发bean](#1.1 注解开发bean)

[1.2 纯注解开发](#1.2 纯注解开发)

三、注解开发之bean的管理

四、注解开发之自动装配

[4.1 按类型注入bean](#4.1 按类型注入bean)

[4.2 按名称注入bean](#4.2 按名称注入bean)

[4.3 使用@value进行简单类型注入](#4.3 使用@value进行简单类型注入)

[4.4 注解读取properties配置文件](#4.4 注解读取properties配置文件)


前言:Spring炼气之路(炼气二层)-CSDN博客

一、容器的介绍

1.1 创建容器

创建容器有两种方式,类路径下的XML配置文件和文件系统下的XML配置文件

1.1.1 类路径下的XML配置文件

java 复制代码
ApplicationContext actx = new ClassPathXmlApplicationContext("applicationContext.xml");

1.1.2 文件系统下的XML配置文件

java 复制代码
ApplicationContext ctx = new FileSystemXmlApplicationContext("applicationContext.xml文件的绝对路径");

1.2 获取bean

bean的三种获取方式

1.2.1 使用baen名称获取

java 复制代码
 BookDao bookDao = (BookDao) actx.getBean("bookDao");

1.2.2 使用bean名称+指定类型

java 复制代码
BookDao bookDao = actx.getBean("bookDao",BookDao.class);

1.2.3 使用bean类型获取

java 复制代码
BookDao bookDao = actx.getBean(BookDao.class);

二、注解开发

1.1 注解开发bean

第一步:在需要注解的类上加上@Component

java 复制代码
@Component("bookDao")
public class BookDaoImpl implements BookDao {}

第二步:在applicationContext.xml配置文件中进行包扫描

html 复制代码
<context:component-scan base-package="com.zhang.dao.impl" />

注: 对于@Component注解,还衍生出了其他三个注解

表现层: @Controller

业务层 @Service

数据层 : @Repository

1.2 纯注解开发

使用Java类替代配置文件

步骤:

①第一步:创建配置java类

java 复制代码
public class SpringConfig {}

②第二步:添加@Configuration注解替换applicationContext.xml,表示这是一个配置类

java 复制代码
@Configuration
public class SpringConfig {}

③第三步:在配置类上添加包扫描注解@ComponentScan

java 复制代码
@Configuration
@ComponentScan("com.zhang")
public class SpringConfig {}

在这种模式下,如何初始化容器?

java 复制代码
//加载配置类初始化容器
ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);

三、注解开发之bean的管理

3.1 bean的作用范围注解

@Scope设置bean的作用范围

3.2 bean的生命周期注解

@PostConstruct初始化方法

@PreDestroy 销毁方法

四、注解开发之自动装配

4.1 按类型注入bean

使用@Autowired **(按类型注入)**注解

注: @Autowired可以写在属性上,也可也写在setter方法上。

4.2 按名称注入bean

使用@Autowired+@Qualifier 注解

注: @Qualifier不能独立使用,必须和@Autowired一起使用

4.3 使用@value进行简单类型注入

java 复制代码
@Value("zhang")
private String name;

4.4 注解读取properties****配置文件

**①:**在配置类上添加@PropertySource注解

②:通过${ } 读取properties配置文件的简单类型数据

java 复制代码
@Value("${name}")
相关推荐
Mahir087 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
RyFit9 小时前
SpringAI 常见问题及解决方案大全
java·ai
石山代码9 小时前
C++ 内存分区 堆区
java·开发语言·c++
绝知此事9 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
无风听海9 小时前
C# 隐式转换深度解析
java·开发语言·c#
一只大袋鼠10 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
德思特11 小时前
从 Dify 配置页理解 RAG 的重要参数
java·人工智能·llm·dify·rag
YOU OU11 小时前
Spring IoC&DI
java·数据库·spring
один but you11 小时前
从可变参数到 emplace:现代 C++ 性能优化的核心组合
java·开发语言
是码龙不是码农12 小时前
ThreadPoolExecutor 7 个核心参数详解
java·线程池·threadpool