重拾Spring(三)基于注解装配Bean
程序员文章站
2024-02-16 12:51:52
...
- 注解:就是一个类,使用@注解名称。
- 开发中:使用注解 取代 xml配置文件。
@Component取代<bean class=”“>
@Component(“id”) 取代 <bean id=”” class=”“>-
web开发,提供3个@Component注解衍生注解(功能一样)取代<bean class=”“>
- @Repository :dao层
- @Service:service层
- @Controller:web层
-
依赖注入,给私有字段设置,也可以给setter方法设置
- 普通值:@Value(“”)
- 引用值:
- 方式1:按照【类型】注入
- @Autowired
- 方式2:按照【名称】注入1
- @Autowired
- @Qualifier(“名称”)(这两注解配合,就可以按照名称注入)
- 方式3:按照【名称】注入2
- @Resource(“名称”)
- 方式1:按照【类型】注入
生命周期
初始化:@PostConstruct
销毁:@PreDestroy作用域
@Scope(“prototype”) 多例注解使用前提,添加命名空间,让spring扫描含有注解类
<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="com.itheima.g_annotation.a_ioc"></context:component-scan>
</beans>
例子:
用@Controller替代<bean>标签:
用@AutoWired替代<property>标签,注入接口实现类:
按照名称声明dao接口:
连起来就是: