基于注解方式实现属性注入
基于注解方式实现属性注入
(1)@Autowired:根据属性类型自动注入(不用创建set方法来注入,注解里都封装好了)
演示:第一步把service和dao对象创建,在service和dao类添加创建对象
第二步:在service注入dao对象,在service类中添加dao类属性,service类中不需要加set方法来帮助注入
在属性上添加注入属性的注解@Autowired
(2)@Qualifier:根据属性名称注入
@Qualifier这个注解要和上面的@Autowired一起使用,因为为了在可能一个接口类有多个实现类,
这样只单单用@Autowired不能去分辨到底是哪个具体实现类,但是@Qualifier(value=“”)这个value可以指定某一个具体实现类,只要在那四种创建类的注解后面加入例如@Repository(value="类名的头字母小写"),然后
@Qualifier(value="类名的头字母小写")即可指定具体类
(3)@Resource:可以根据类型注入,也可以根据名称注入
这三种注解实现属性注入(这三种注解都是针对对象类型注解并不是普通数据类型)
@Resource注解方式注入属性
这里要与上面的@Qualifier注解区分一下,@Qualifier里的属性是value,而@Resource里的属性是name
但是里面的值都是同一个,都是同一个,官方不建议用@Resource
(4)@Value:这个注解是针对普通数据类型
这里讲解注入普通属性的注解@Value
@Value(value = "abc")//@Value注解里有一个属性value,他的值可以注入到name中
private String name;
下面讲一下纯注解开发:
首先创建配置类,用它来替代xml配置文件,在配置类中加入注解@Configuration,可以表示这个类是配置类
可以替代XML配置文件
@Configuration
@ComponentScan(basePackages = {"com.atguigu.Springdemo"})
public class SpringConfig {
}
2.其他没有变化
测试时
一般开发不用Spring的完全注解开发,而是用SpringBoot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!