使用注解定义bean

一、扫描配置

applicationContext.xml 配置注解扫描的目录

  • 使用 context:component-scan 定义注解扫描的标签
  • base-package 定义扫描的目录
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd"
>
<context:component-scan base-package="cn.pangcy"/>
</beans>

二、使用 @Component 定义bean

1. 使用命名注解

使用注解时,传入参数

1
2
@Component("bookDao")
public class BookDaoImpl implements BookDao {};

获取 bean

1
2
// 这里传入的 bookDao 是 Component 定义的名字
BookDao bookDao = ctx.getBean("bookDao");

2. 默认命名注解

使用注解时,不传入参数

1
2
@Component
public class BookDaoImpl implements BookDao {};

获取 bean

1
2
// 使用类型获取 bean;
BookDao bookDao = ctx.getBean(BookDao.class);

三、@Component 别名

  • Spring 提供 @Component 注解的三个衍生注解
  • @Controller :用于表现层 bean 定义
  • @Service :用于业务层 bean 定义
  • @Repository :用于数据层 bean 定义

使用注解定义bean
https://blog.pangcy.cn/2023/04/05/后端编程相关/java/spring/使用注解定义bean/
作者
子洋
发布于
2023年4月5日
许可协议