Spring-XML文件与注解
(一)基于XML的使用
(二)基于注解和XML的混合使用
1 Java config是什么, 如何起作用的?
在注解方式实例化bean对象之前, 是通过xml文件来完成bean的定义, 以及bean之间的依赖关系的配置.导致项目中xml文件非常大,整个项目维护起来比较复杂, 为了简化bean的定义及其依赖关系, 且能够较好地将bean交由spring容器管理. JavaConfig就应运而生了,通过JAVA代码与Annotation注解来描述bean之间的依赖关系.
JavaConfig注解用法汇总:
(一)配置IoC/DI:
- @Configuration: 在类上贴该注解表示该类是Spring的配置类, 具有applicationContext.xml文件的作用:配置Spring容器,需要注意的是:
@Configuration不可以是final类型;
@Configuration 不可以是匿名类
嵌套的Configuration必须是静态类。
- @Bean : 注解标注方法上(返回某个实例的方法),等价于Spring的XML配置文件中的bean标签, 作用是注册bean对象,对象实例的名字默认是方法名。我们也可以通过name 属性来指定实例名。
- @Scope: 该注解是springIoc容器中的一个作用域,在 Spring IoC 容器中具有以下几种作用域:基本作用域singleton(单例)、**prototype(多例)**,Web 作用域(reqeust、session、globalsession),自定义作用域。
- @ComponentScan: 该注解对应Spring的XML配置文件中的<context:component-scan/> 表示启动组件扫描,Spring会自动扫描所有通过 注解配置的bean,然后将其注册到IOC容器中,我们可以通过basePackages属性来指定@ComponentScan自动扫描的范围,如果不指定,则默认从声明@ComponentScan所在类的package进行扫描,正是因为如此,SpringBoot的启动类都是默认在/src/main/java下。
(二)配置实例:
@Controller 控制器(注入服务) @Service 服务(注入dao) @Repository (实现dao访问)@Component
(三)配置导入:
- @Import: 配置类与配置类间的引入注解。将指定的配置类,导入到当前配置类
- @ImportResource: 配置文件与配置类间引入注解,将指定配置文件,导入到当前配置类。
- @PropertySource: 从指定位置加装资源文件到Spring容器的环境变量对象中
- @Value: 单个参数获取, 通过@Value将外部配置文件的值动态注入到Bean中。配置文件主要有两类:application.properties。application.properties在spring boot启动时默认加载此文件; 自定义属性文件通过@PropertySource加载。@PropertySource可以同时加载多个文件,也可以加载单个文件。如果相同第一个属性文件和第二属性文件存在相同key,则最后一个属性文件里的key起作用。
- @ConfigurationProperties:批量参数获取,通过@ConfigurationProperties(prefix = "propbind")的prefix前缀属性获取。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)