什么是spring bean
Spring Bean是被实例的,组装的及被Spring 容器管理的Java对象。
# 为什么要用bean
最开始我们创建对象是使用java内置的机制,也就是new一个对象,这个时候java会找到你需要创建的对象的那个类,然后调用里面的构造器构造一个对象供你使用。当你用完之后就完全不用你操心了,java内置的回收机制会自动的判断并回收摧毁无用的java对象。
这种方式有一个非常严重的弊端,对于大型的企业级应用,需要创建并管理相当多的对象的时候就会是非常痛苦的一件事情,我们比较难找到之前声明的对象在哪里,如果有一个注册表,帮我们给对象登记上,那么我们直接就可以按照要求找对象了。
spring的IOC容器是什么
spring的IOC容器就是这么一个第三方的对象管理机构,也叫仓库。在spring中,对象被称作Bean。通过spring的相关配置文件,比如xml文件或者配置类提交你的Bean配置信息。spring收到你的配置文件之后就会存入相关Bean信息到IOC容器,之后在你的项目代码里标注你需要用到对象的地方,IOC容器发现需要Bean的地方就会自动从仓库里创建并发送Bean到需要的地方使用。这个过程叫做DI依赖注入。
初始化bean的三种方式
spring提供了三种依赖注入的方式,自动注入,Java注解注入和xml文件配置注入。
自动化装配bean(隐式)
- 1.组件扫描(component scanning):Spring 会自动发现应用上下文中所创建的bean。
- 2.自动装配(autowiring):Spring自动满足bean之间的依赖。
@Component:声明组件
@ComponentScan:组件扫描
@Autowired:自动装配
Java注解
自动化装配当然是好用,可是也有它的局限性。我们可以在我们自己的项目代码里使用自动装配的注解,但是当项目引用了第三方的库呢?显然我们无法在别的库里使用到自动装配的注解。还好我们还有两种显式声明装配的方式:Java注解和xml文件
- 创建一个config类,在类前加@Configuration注解,声明这个类是spring的配置类
- 在config类里,在方法前用@Bean声明bean,默认bean id为带@Bean的方法名,也可以通过@Bean(name=" ")指定bean的名称。带有@Bean的方法可以采用任何必要的Java功能来产生Bean实例。
通过XML装配Bean
声明Bean:<bean id = " " , class = " " />
本文由 admin 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Mar 28, 2019 at 07:08 am