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}")
相关推荐
快乐肚皮28 分钟前
fencing token机制
java·fencing token
叶落阁主38 分钟前
Neovim 插件 i18n.nvim 介绍
java·vue.js·vim
渣哥38 分钟前
让集合线程安全的几种靠谱方法
java
dylan_QAQ41 分钟前
Java转Go全过程06-工程管理
java·后端·go
麦兜*1 小时前
MongoDB 6.0 新特性解读:时间序列集合与加密查询
数据库·spring boot·mongodb·spring·spring cloud·系统架构
a587691 小时前
消息队列(MQ)初级入门:详解RabbitMQ与Kafka
java·分布式·microsoft·面试·kafka·rabbitmq
千里码aicood2 小时前
【springboot+vue】党员党建活动管理平台(源码+文档+调试+基础修改+答疑)
java·数据库·spring boot
Chan162 小时前
【智能协同云图库】基于统一接口架构构建多维度分析功能、结合 ECharts 可视化与权限校验实现用户 / 管理员图库统计、通过 SQL 优化与流式处理提升数据
java·spring boot·后端·sql·spring·intellij-idea·echarts
先做个垃圾出来………2 小时前
差分数组(Difference Array)
java·数据结构·算法
BillKu2 小时前
Java核心概念详解:JVM、JRE、JDK、Java SE、Java EE (Jakarta EE)
java·jvm·jdk·java ee·jre·java se·jakarta ee