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}")
相关推荐
hay_lee5 小时前
Spring AI实现对话聊天-流式输出
java·人工智能·ollama·spring ai
Hx_Ma165 小时前
SpringBoot数据源自动管理
java·spring boot·spring
SunnyDays10115 小时前
Java 高效实现 CSV 转 Excel
java·csv转excel
starfire_hit5 小时前
JAVAWEB根据前台请求获取用户IP
java·服务器·网络
fengxin_rou5 小时前
[Redis从零到精通|第四篇]:缓存穿透、雪崩、击穿
java·redis·缓存·mybatis·idea·多线程
像少年啦飞驰点、5 小时前
从零开始学 RabbitMQ:小白也能懂的消息队列实战指南
java·spring boot·微服务·消息队列·rabbitmq·异步编程
宠友信息5 小时前
2025社交+IM及时通讯社区APP仿小红书小程序
java·spring boot·小程序·uni-app·web app
java1234_小锋5 小时前
Java高频面试题:Spring和SpringBoot的关系和区别?
java·spring boot·spring
风指引着方向5 小时前
昇腾算子性能调优:ops-nn 中的内存布局与向量化技巧
java·大数据·人工智能
WooaiJava5 小时前
流式TTS音频播放项目 - 面试问答(后端)
java·开发语言