【Spring学习】spring注解自动注入bean
Spring mvc注解用到的配置:
<!-- 启用spring mvc 注解 -->
<context:annotation-config /> <context:component-scan base-package="cn.itkt"></context:component-scan>
这样的话,在com包及其所有子包下的所有类如果含有@Component、@Controller、@Service、@Repository等注解的 话都会自动纳入到Spring容器中,但是每个类都一个个加上注解,有时难免觉得繁琐,其实Spring也为我们提供了自动为类加上注解的功能。配置如 下:
<!-- 启用spring mvc 注解 --><context:annotation-config /><!-- 设置使用注解的类所在的包 --><context:component-scan base-package="com.lmb.**.rest,com.lmb..server.http,com.lmb.**.mvc"><context:include-filter type="annotation"expression="org.springframework.stereotype.Controller" /><context:exclude-filter type="annotation"expression="org.springframework.stereotype.Service" /></context:component-scan>
com.lmb..rest,com.lmb.hollyuniproxy.server.http,com.lmb..mvc包下的类都为使用注解的类。
要特别注意其中的context:include-filter标签和context:exclude-filter标签:
context:include-filter
此标签的含义是:在其扫描到的所有包下的类,全部自动加上注解并纳入Spring容器中。
比如下面这个类:
public class InterfaceVisitService implements IInterfaceVisitService {
//……
}
那么该标签等于为InterfaceVisitService 类加上@Component注解,且bean的id为interfaceVisitService。
@Component(“interfaceVisitService”)
public class InterfaceVisitService implements IInterfaceVisitService {
//……
}
context:exclude-filter
此标签的含义是:排除扫描到的所有类,不纳入Spring容器中。
但需要注意的是,采用自动注入,类名不能相同(即便包名不同),因为自动注入时,id与类名相同,所以如果两个类名一样的话,会因为Bean的id相同而报错。如果类名一定要相同的话,只能是其中一个类,手动加上注解并将名称改为其他。
【Spring学习】spring注解自动注入bean相关推荐
- spring学习笔记四(注入Bean属性)
注入Bean属性 初始化bean的时候我们可能要对生成的Bean对象进行一些初始属性的设置,那么在spring中是如何设置的呢? 我们以下面图中实例来为Bean注入属性 一.通过构造方法来注入属性 ...
- (转)Spring Boot通过ImportBeanDefinitionRegistrar动态注入Bean
转自: Spring Boot通过ImportBeanDefinitionRegistrar动态注入Bean - 掘金在阅读SpringBoot源码时,看到SpringBoot中大量使用ImportB ...
- spring学习笔记03-spring-DI-依赖注入详解(通过xml配置文件来配置依赖注入)
spring学习笔记03-spring-DI-依赖注入详解 1.概念 2.构造函数注入 3.set方法注入 4.集合的注入 需要被注入的实体对象 package com.itheima.service ...
- Spring框架最终注解标签注入方法
使用注解装配bean 使用@Autowired注解 从Spring2.5开始,最有趣的一种装配Spring Bean的方式是使用注解自动装配Bean的属性. Spring默认禁用注解装配,最简单的启用 ...
- 使用@atuowired注解无法注入bean的解决方法(出现Field userMapper in com.peng.service.Impl.UserServiceImpl required a b
使用@atuowired注解无法注入bean的解决方法(出现Field userMapper in com.peng.service.Impl.UserServiceImpl required a b ...
- 解决Spring+Quartz无法自动注入bean问题
问题 我们有时需要执行一些定时任务(如数据批处理),比较常用的技术框架有Spring + Quartz中.无奈此方式有个问题:Spring Bean无法自动注入. 环境:Spring3.2.2 + Q ...
- Spring三种方法的注解自动注入
1 @Autowired注解 @Autowired是Spring提供的自动注入的方法,该注解可以放在变量和方法上,在bean+返回值类型的注解中,@Autowired还可以放在参数前:@Autowir ...
- spring注解方式注入bean
用注解的方式注入bean,spring的配置文件也要增加一些约束和导入注解所在的包 applicationContext.xml 1 <?xml version="1.0" ...
- Spring学习7之自动装配Bean03
前言 接上节我们学习隐式的自动装配bean,今天我们学习用Java方式来配置bean! 一.如何用Java实现配置Bean 我们需要使用JavaConfig,一个配置类! 二.使用步骤 1.需要的实体 ...
最新文章
- 全国大学生智能汽车竞赛-讯飞赛道开始报名啦!
- Android开始之 Spinner控件
- golang 开发 Struct 转换成 map 两种方式比较
- Linux线程(三)
- mysql-bin日志文件清理
- 飞机大战游戏微信小程序源码
- 软件工程 | 第七章 系统维护
- 《宏命令完全指南》8.0最新修改篇
- kettle 配置jndi数据源
- JS引擎V8的内存回收机制与内存限制(标记清除法)
- verilog赋多位值_verilog中的default应该赋什么样的值
- 5、SpringMVC自动配置概览
- 一款全新的平面UI套件,专门用于桌面应用程序
- 【学习笔记】【正则表达式】`A-Za-z`和`A-z`的区别,前者更精准,后者包括部分字符。
- CS5266替代AG9311设计TYPEC转HDMI带PD3.0音视频拓展坞方案
- 完美解决nginx跨域问题Request header field x-token is not allowed by Access-Control-Allow-Headers in prefligh
- 百度地图(BMap)设置标点,显示信息【vue】
- 提示虚拟内存不足可能的原因以及该怎么处理
- mysql 主键长度_MYSQLl数据库主键设置长度控制
- 那些年,IE浏览器带给我们的快乐和感动
热门文章
- 绘画 某种字体 以某种折行规则 最后画出的text有多大
- Android 顶部切换实现(二)
- android 判断手机为小米
- android list contain的使用
- android系统sharedUserId: SYSTEM_UID+PHONE_UID+BLUETOOH_UID+LOG_UID+NFC_UID
- 从Activity返回结果
- OpenCV cv2.putText实现字符串换行'\n'
- 解决devenv.exe应用程序错误,应用程序发生异常
- Vue—相关工具—webpack
- Android开发之IPC进程间通信-AIDL介绍及实例解析