spring中的常用注解
1.@Component 修饰类,用于创建对象,告诉spring框架,被该注解修饰的类,交由spring容器管理
value属性 定义bean的名称 不写时,默认值是当前类名首字母改小写
--@Controller 用于表现层,Controller类
--@Service 用于业务层
--@Repository 用于持久层
以上三个注解的作用与Component注解一致,只是根据不同的分层使用不同的注解。使分层更加清晰。
2.@Autowired 可以对类成员变量、方法及构造函数进行标注,让spring 完成 bean 自动注入的工作。
默认是以byType的方式去匹配与属性名相同的bean的id,如果没有找到,就通过byName的方式去查找。
只有容器中有唯一的bean对象类型和要注入的变量类型匹配,才可以注入成功。
--@Qualifier 作用:一个接口有多个实现类,@Qualifier指明@Autowired具体注入哪个实现类
--@Resource 与@Autowired作用相同,java自带的注解。默认byName的方式去查找bean
@Resource(name = "beanId") 可以不用使用@Qualifier注解,就指定需要注入的bean id
3.@Scope 用于指定bean的作用范围
--默认是单例模式 即scope="singleton"。全局有且仅有一个实例
另外scope还有prototype、request、session、global session作用域。scope="prototype"多例
--prototype 每次获取bean都会新建一个实例
--request 每次请求都会产生一个新的实例,并且该实例仅在当前request内有效
常用的只有singleton和prototype
4.@PostConstruct 初始化方法注解
@PreDestroy 销毁方法注解
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?