Spring使用注解代替配置
一.Spring使用注解代替配置
1.使用注解之前,较新的spring版本得导入spring的一个aop包,还需要导入schame目录下的context目录的约束文件并引入到主配值中
2.在主配置文件开启使用注解的一个标签,如图:
3.现在就可以到指定包下的类中加注解了
二.在类上的注解
1.如果想指定该类注册到主配值文件中,可以在类上加@Component(value="user1"),value是指定对象的命名,相对于主配置文件的<bean name="user1" class="">
2.除了@Component()之外还有三个跟它作用上一模一样,只是命名不同:@Controller,@Service,@Repository;可以清楚的知道对象是属于哪一层的
3.描述scopre属性,可以在类上加@Scope(scopeName = "singleton")
三.属性上的注解
1.在值属性上可以加@Value(value="tom"),在主配置相当:<property name="属性名" value="tom"></property>
2.对象属性上:
>可以加@Autowired,表示在spring容器中自动装配符合对象类型的对象;如果存在多个类型相同的对象则无法具体注入哪一个对象
>@Autowired+@Qualifier("car1")一起使用,自动装配指定名称的对象
>@Resource(name="car1"),手动注入指定名称的对象(推荐使用)
3.在属性上面注入是通过反射的Filed,这种方式是破坏了面向对象思想的封装性,官方呢是更推荐使用set方法注入在set方法上加注解,不过这东西仁者见仁智者见智。
四.方法上的注解
1.如果想指定对象的初始化方法和摧毁前调用的方法,可以在指定的方法上加@PostConstruct表示初始化,@PreDestroy表示spring容器摧毁前调用
2.如果scope属性是prototype的话,创建的实例是不归容器管理的,也意味着对象的方法有@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 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~