Spring IoC注解开发

news/2024/10/17 16:22:38/

@Component  组件

@Controller 控制器

@Service  业务

@Repository  仓库

这四个标签是为了创建对象

其实他们四个本质都一样,只不过另外三个是Component的别名,在不同层使用容易区分

 首先需要加入aop依赖,如果你事先加入spring-context依赖,则会关联加入aop依赖

第二步,配置xml文件,修改命名空间

 修改beans变成context

第三步,指定要扫描哪些包中的类

第四步,加入注解

 

 getBean中传入注解的value值,如果在这四个当中不填value值,默认类名首字母变小写

 

如果要扫描多个包,可以在配置文件用,隔开

 也可以指定一个父包

选择性实例化Bean,现在由于某种特殊业务的需要,只允许其中所有的Controller参与Bean管理

    第一种解决方案:use-default-filters="false" 使全部带有声明Bean的失效

   第二种解决方案:排除掉,exclude-filter

负责注入的标签:

@Value

@Autowired

@Qualifier

@Resource

@Value用来注入简单类型,并且可以不提供set方法,可以放在属性上,也可以放在set方法上以及构造方法上

 

 

 @Autowired注入非简单类型,默认byType,根据类型自动装配,不需要指定任何属性,但不能有多个实现类,不需要set方法

 

也可以出现在set方法上,构造方法上,构造方法参数上

 

可以省略@Autowired,要求只有一个构造方法并且能和属性能对应上

 

 @Autowired和@Qualifier联合使用,可以根据名字进行装配

要注入哪个就在@Qualifier中填写哪个bean

@Resource注解也可以完成非简单类型注入,他是JDK扩展包中的,属于JDK的一部分,所以该注解是标准注解,更加具有通用性,而是@Autowired是spring框架自己的

@Resource注解默认根据名称装配byName,未指定name时,使用属性名作为name,找不到的话通过byType装配,并且只适用于属性上,setter方法上

需要引入依赖

 

 

 

全注解编程:

定义一个类,加入@Configuration注解,表示这里类代替配置文件,@ComponentScan指定扫描的包

 此时需要new的对象不同,为AnnotationConfigApplicationContext,并且把配置类放到参数中

 

 


http://www.ppmy.cn/news/47269.html

相关文章

JS数组去重的12种方法

一、利用ES6 Set去重(ES6中最常用) Set对象是ES6中新定义的数据结构,类似数组,它允许存储任何类型的唯一值,不管是原始值还是对象引用。 Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组 …

【计算机视觉·OpenCV】使用Haar+Cascade实现人脸检测

前言 人脸检测的目标是找出图像中所有的人脸对应的位置,算法的输出是人脸的外接矩形在图像中的坐标。使用 haar 特征和 cascade 检测器进行人脸检测是一种传统的方式,下面将给出利用 OpenCV 中的 haarcascade 进行人脸检测的代码。 程序流程 代码 impo…

JeecgBoot 3.5.1 版本发布,开源的企业级低代码平台

项目介绍 JeecgBoot是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue3,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领…

Vector - CAPL - Panel面板_01

前面有过简单的介绍panel面板的功能,不过终究感觉有点简陋,最近也在搞PyQT5,发现如果对于这块了解不多的情况下,想要做一些东西的话,简直无从下手,因此专门翻阅了之前的文章,查看了下确实缺少了…

使用wait监听tomcat服务启动

文章的wait脚本素材会放在末尾 执行docker-compose.yml文件之后就有mysql的主服务器,还有从服务器,还有tomcat服务,在tomcat中部署一个crm项目,tomcat服务中我们添加了启动顺序, # 启动顺序 depends_on: - mysql…

XO08R2 1SBP260109R1001接地系统能够为dcs提供屏蔽层,消除电子噪声干扰

​ XO08R2 1SBP260109R1001接地系统能够为dcs提供屏蔽层,消除电子噪声干扰 dcs合理、可靠的系统接地,是dcs系统非常重要的内容。为了保证dcs系统的监测控制精度和安全、可靠运行,必须对系统接地方式、接地要求、信号屏蔽、接地线截面选择、接…

【C++】STL——vector 深度剖析 及 模拟实现

文章目录 前言1. vector的介绍及使用1.1 vector的介绍1.2 vector的使用1.2.1 构造函数1.2.2 vector对象的遍历1.2.3 vector的迭代器1.2.4 reserve和resize1.2.5 insert和erase1.2.6 vector< char > 能否替代string 2. vector的模拟实现2.1 STL_vector源码浏览2.2 vector的…

从EXCEL BOM 描述中提取部分信息---正则表达式使用

从EXCEL BOM描述中提取关键的信息&#xff0c;用于建库填写内容&#xff0c;或者检查BOM等都会用到&#xff0c;如下大概通过两种方式实现信息的提取 1.手动Excel中提取 2.将如上1的方式用python实现&#xff0c;可以实现批量操作&#xff0c;减少操作带来的错误&#xff0c;…