spring注解开发
@Componet
组件,放在类上,说明这个类被spring管理了,就是bean
类前加这个注解,相当于bean
等价于<bean id="xxx" class="xxxxxx"/>
名字默认是类的名字的小写
@Value("xxx")
相当于
<bean id="xxx" class="xxxxxx">
<property name="xxx" value="xxx"/>
</bean>
也可以放在set方法上
@Autowired
直接在属性上用即可
使用@Autowired可以不用再编写set方法,前提是你这个自动装配的属性再ioc(spring)容器中存在,且符合byname
@Autowried(required = dalse)则这个属性可以为null,否则不允许为空
如果@Autowired自动装配的环境比较复杂,自动装配无法通过一个注解@Autowired完成的时候,我们可以使用@Qualifier(value="xxx")去配置@Autowired的使用,指定一个唯一的bean对象
@Resource
作用和@Autowired一样,可以在后面(name="xxx”)来指定唯一的对象
@Autowired和@Resoure区别
都是自动装配,都可以放在属性字段上
@Autowired是通过byType的方式实现,而且必须要求这个对象存在
@Resoure默认通过byname的方式实现,如果找不到名字,则通过byType实现,如果两个都找不到就报错
执行顺序不同
@Nullable
字段标记了这个注解,说明这个字段可以为null;
@Scope("xxx")
xxx为singleton就是单例模式
xxx为prototype就是原型模式
@Aspect
放在类前,标注这个类是一个切面
@Before("execution(* xxxxxx.*(xxx))")
方法执行前
@After("execution(* xxxxxx.*(xxx))")
方法执行后
@Around("execution(* xxxxxx.*(xxx))")
环绕增强
在环绕增强中,可以给定一个参数,代表我们要获取处理切入的点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!