Spring基于注解的方式配置bean的实例
来源:互联网 发布:淘宝小样四大靠谱店 编辑:程序博客网 时间:2024/05/21 17:18
前边我们讲过了基于配置文件创建bean实例的另外一种方式:即使用FacctoryBean的实现类来创建配置文件中bean的实例。下边我们讲一讲使用非常频繁的基于注解的方式来创建bean的实例。
1.注解配置bean的实例
① Spring框架可以从classpath(src)下自动扫描、侦测和实例化带有特定注解的组件(类)。
② 特定注解一般有@Component,基本注解,标识了一个受Spring管理的组件;@Repository,一般用于标识持久层的组件;@Service,一般用于标识业务层的组件;@Controller,一般用于标识表现层的组件。需要注意的是Spring框架时无法根据注解的内容区分识别不同的层级,我们只是将不同的注解标识在不同的层级上以利于观察。
③ Spring在扫描到这些带有特定注解的类之后,会给这些类创建对应的实例并且命名,相当于配置文件中的id值。Spring采用默认的命名策略:
类名首字母小写,代表这个类实例的id名称。
也可以手动的在注解之后添加一个value属性执行当前这个类的实例的名称,如@Component(value="liucc")
④ Spring可以扫描这些组件,但是还必须在SpringIOC容器中进行配置,指定Spring扫描的具体的包及其子包下的类。
<context:component-scan base-package="com.liucc"> 注意包的层级(包之间也是有层级之分的)
当有多个同等级的包需要被扫描时,可用逗号将其分割即可。
⑤ 在扫描的过程中,如果我们希望只扫描某个特定的类,则需要用到属性resource-pattern来指定特定的.class类
<context:component-san base-package="com.liucc.pojo" resource-pattern="autowired/*.class" >.
⑥ 我们还可以使用<context:component-san/>的子标签<context:include-filter>和<context:exclude-filter>来指定只扫描的类或者排除扫描的类。
具体的方式可以使用type先指定包含或者排除方式,有annotation和assignble两种。前者指定扫描类的注解类型,后者指明扫描类的全类名。
需要注意的是,如果我们使用<context:include-filter>,那么还必须在<context:component-san>节点上将use-default-filter置为false,否则无法起作用。(默认为true)
- Spring基于注解的方式配置bean的实例
- spring(三)(基于注解的方式配置bean)
- Spring笔记2-基于注解的方式配置Bean
- Spring(二)基于注解的方式配置Bean
- 基于注解@Bean的配置使用方式
- [Spring]基于注解的形式配置Bean
- Spring-基于注解的配置[01定义Bean+扫描Bean]
- Spring框架学习(10):基于注解的方式配置Bean
- spring中配置Bean的xml方式和注解方式
- Spring 事务基于注解方式的配置
- Bean 基于注解的配置
- 【Spring】IOC之基于注解的配置bean(上)
- spring知识四------基于注解的配置bean
- Spring-基于注解的配置[02自动装载bean]
- Spring-12:通过注解的方式配置Bean
- spring--xml配置方式,bean实例化的方式
- Spring基于注解配置Bean
- spring 注解方式配置Bean
- 轻松看懂机器学习十大常用算法
- 小错误maven install 控制台 无输出
- nrf51822-添加DFU服务
- 回车和换行的区别
- 训练集(train set) 验证集(validation set) 测试集(test set)
- Spring基于注解的方式配置bean的实例
- java 保留两位小数
- python实现机械分词(2)-逆向最大匹配算法
- Oracle求某一列最大值
- MxCAD5.2 2017.7.10软件更新
- Symfony2的Nginx配置
- 写页面中需要知道的一些兼容方法
- HDU 1232 畅通工程(并查集Disjoint Set 经典)
- Couldn't save uncommitted changes / unable to auto-detect email address错误