Spring 使用注解发开
属性的注入
@Component扫描到bean中,组件的意思,会用在实体类或者映射类上
@Autowired,将已经在bean中的类,引用
@Component
//@Component 组件
//等价于<bean id="User" class="com.liu.pojo.User"/>
public class User {
@Value("小明")
//相当于注入<property name="name" value="小明"/>
public String name;
衍生的注解
@Component有几个衍生注解,我们在web开发中,会按照mvc三层架构分层!
- dao 【@Repository】
- service [@service】
- controller 【@controller】
这四个注解功能都是一样的,都是代表将某个类注册到Spring中,装配Bean
自动装配
1、@Autowired
由Spring提供,只按照byType注入
2、@Resource
由J2EE提供,默认按照byName自动注入
3、@Autowired是Spring的,@Resource是javax包下的。
- @Autowired 自动装配通过bean,通过类型
-->需要bean里面的类型为唯一,否则需要和@Qualifier(value="xxx")一起使用
- @resource 自动装配通过bean,通过名字。找不到再通过类型
- @Nullable 字段标记了这个注解,说明该字段可以为空;
作用域
放在类上面
@Scope("singleton")
小结
xml与注解:
- xml更加万能,适用于任何场合!维护简单方便。
- 注解不是自己类使用不了,维护相对复杂!
xml 与注解最佳实践:
- xml 用来管理bean;
- 注解只负责完成属性的注入;
- 我们在使用的过程中,只需要注意一个问题:必须让注解生效,就需要开启注解的支持
<!--指定要扫描的包,这个包下的注解就会生效-->
<context:component-scan base-package="com.liu"/>
<!--开启注解的支持-->
<context:annotation-config/>
分类:
Spring
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)