Spring中bean的注入(注解形式)
程序员文章站
2022-05-21 22:11:30
...
Spring为此提供了四个注解,这些注解的作用与上面的XML定义bean效果一致,在于将组件交给Spring容器管理。组件的名称默认是类名(首字母变小写),也可以自己修改:
@Component:当对组件的层次难以定位的时候使用这个注解
@Controller:表示控制层的组件
@Service:表示业务逻辑层的组件
@Repository:表示数据访问层的组件
使用这些注解的时候还有一个地方需要注意,就是需要在applicationContext.xml中声明<contex:component-scan...>一项,指明Spring容器扫描组件的包目录。
- 先编写Student和Teacher
-
public class Student { private String name; private Teacher teacher; public String getName() { return name; } public void setName(String name) { this.name = name; } public Teacher getTeacher() { return teacher; } public void setTeacher(Teacher teacher) { this.teacher = teacher; } }
public class Teacher { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
- 基于注解的bean的定义注入:
-
-
@Component("teacher") public class Teacher { @Value("李四") private String name; public String getName() { return name; } }
-
@Component("student") public class Student { @Value("张三") private String name; @Resource private Teacher teacher; public String getName() { return name; } public Teacher getTeacher() { return teacher; } }
<?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="test"/> </beans
-
上一篇: 『Word2007技巧』数字格式开关
下一篇: Spring Bean初始化实例
推荐阅读
-
Spring在代码中获取bean的几种方式详解
-
Spring中bean对象的生命周期
-
深入源码分析Spring中的构造器注入
-
Spring Bean的属性注入方式
-
JSP 开发之servlet中调用注入spring管理的dao
-
详解 Spring注解的(List&Map)特殊注入功能
-
Spring框架中 @Autowired 和 @Resource 注解的区别
-
@Autowired 和 @Resource注解, 一个接口有多个实现类的时候Spring注入遇到的问题
-
荐 Spring-boot-study02-spring.xml配置文件注入组件和@Bean注解注入组件差别
-
Spring中@Component与@Bean的区别