雁过留声 发表于 2025-3-3 05:10:00

Spring 创建对象的流程

1. 故事背景

想象一下,你是一个老板,要开一家公司。公司里有很多员工(对象),每个员工都有自己的职责和依靠关系(好比,步伐员必要电脑,销售必要电话等)。传统方式是你自己手动去安排每个员工的工作和工具,但在 Spring 的世界里,有一个超等助手(Spring 容器)帮你搞定这一切。
2. 第一步:告诉助手你必要哪些员工

你必要告诉 Spring 助手,你的公司必要哪些员工,以及他们的职责和依靠关系。你可以通过以下方式告诉助手:


[*]写一张清单(XML 配置文件):好比,“我必要一个步伐员,他必要一台电脑。”
[*]贴标签(注解):好比,在步伐员身上贴一个标签,写上“这是步伐员,他必要电脑。”
[*]口头交接(Java 配置类):好比,直接告诉助手,“帮我招一个步伐员,给他配一台电脑。”
3. 第二步:助手开始工作

助手(Spring 容器)拿到你的需求后,开始干活:

[*]分析需求:助手会仔细阅读你的清单、标签或口头交接,弄清晰每个员工的详细信息。
[*]招人(创建对象):

[*]如果员工是单例(Singleton),助手只会招一个人,并且让这个人不绝工作,直到公司关门。
[*]如果员工是原型(Prototype),助手每次必要的时间都会招一个新的人。

[*]配工具(依靠注入):

[*]助手会根据员工的需求,给他们配好工具。好比,步伐员必要电脑,助手就会把电脑(依靠对象)交给他。
[*]工具可以通过以下方式交给员工:

[*]构造函数:助手在招人的时间,直接把工具塞到员工手里。
[*]Setter 方法:助手招到人后,通过一个方法把工具交给员工。
[*]直接塞(字段注入):助手悄悄把工具放到员工的办公桌上。


[*]培训(初始化):

[*]如果员工必要培训(好比步伐员必要学习新技能),助手会安排培训(调用初始化方法)。

4. 第三步:员工开始工作

招到人并配好工具后,员工就可以开始工作了。你可以随时调用这些员工来完成公司的任务。
5. 第四步:公司关门(销毁)

当公司关门时,助手会通知所有员工收拾东西脱离(调用销毁方法),好比步伐员要把电脑还回去。
6. 总结

用一句话概括 Spring 创建对象的流程:
你告诉 Spring 必要哪些对象(Bean)以及它们的依靠关系,Spring 负责创建这些对象、给它们注入依靠、初始化它们,并在不必要的时间销毁它们。
举个例子

假设你有一个 UserService(用户服务),它必要一个 UserDao(用户数据访问对象)来操作数据库。你可以这样告诉 Spring:

[*]XML 配置:<bean id="userService" class="com.example.UserService">
    <property name="userDao" ref="userDao"/>
</bean>
<bean id="userDao" class="com.example.UserDao"/>

[*]注解配置:@Service
public class UserService {
    @Autowired
    private UserDao userDao;
}

@Repository
public class UserDao {}

Spring 会:

[*]创建 UserDao 对象。
[*]创建 UserService 对象,并把 UserDao 交给它。
[*]初始化 UserService,让它准备好工作。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Spring 创建对象的流程