Spring零配置之@Configuration注解详解
@Configuration介绍
Spring3.0之前要使用Spring必须要有一个xml配置文件,这也是Spring的核心文件,而Spring3.0之后可以不要配置文件了,通过注解@Configuration完全搞定。
@Configuration即用来代替Spring配置文件的,它就是一个@Component组件,接收一个value值也就是bean的名字,value可以不填。
@Configuration使用
下面是一个使用实例,创建了一个userService和accountService的实例,accountService实例引用userService实例。
@Configuration
@ComponentScan(basePackages = { "com.test.web" })
@Import(UserConfg.class)
@ImportResource(locations = {"classpath:config/spring-beans.xml"})
public class MainConfg {
@Bean(name = "userService", initMethod = "init", destroyMethod = "destroy")
@Scope("singleton")
public UserService userService() {
return new UserService();
}
@Bean
public AccountService accountService(UserService userService) {
AccountService as = new AccountService();
as.setUserService(userService);
return as;
}
}
注解说明
@Configuration:代表这个类是一个配置类。
@ComponentScan:用来扫描指定包下面的注解类。
@Import:用来导入其他的@Configuration配置类。
@ImportResource:用来导入xml配置文件,比如某些配置一定要xml配置。
@Bean:用来定义一个bean,可以指定初始、销毁方法,及bean范围等。
这些注解都在spring-context包下,还有其他注解用来解放xml形式的配置,大量xml配置可java配置化,只要定义好,Spring会自动扫描包下面的@Configuration注解的配置文件类来装配。
关注公众号Java技术栈回复"面试"获取我整理的2020最全面试题及答案。
推荐去我的博客阅读更多:
2.Spring MVC、Spring Boot、Spring Cloud 系列教程
3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程
觉得不错,别忘了点赞+转发哦!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!