Spring中Bean的定义及作用域的注解实现

Classpath扫描与组件管理:

从Spring3.0开始,Spring JavaConfig项目提供了很多特性,包括使用java而不是xml定义bean,指的是注解

@Configuration,@Bean ,@Import ,@DependsOn

@Component是一个通用注解,可用于任何bean

@Repository:通常用于注解DAO类,即持久层

@Service:通常用于注解Service类,即服务层

@Controller:通常用于Controller类,即控制层MVC

元注解(Meta-annotations)

元注解即注解的注解,许多Spring提供的注解可以作为自己的代码,即"元数据注解",元注解是一个简单的注解,可以应用到另一个注解

下列定义Service注解时,用@Component注解来修饰,@Service拥有@component注解的功能:

?


1

2

3

4

5

6

7

@Target(ElementType.TYPE)

@Retention(RetentionPolicy.RUNTIME)

@Documented

@Component  // Spring will see this and treat @Service in the same way as @Component

public @interface Service {

    // ....

}

我们也可以自己定义注解.

类的自动检测及Bean的注册

Spring可以自动检测类并注册Bean到ApplicationContext中.

例:@Service,@Component,@Repository要注册到类上(类的注解),还有注册在方法上的注解像@Autowired,这些注解可以被自动检测到的

注册在类上的,则可以作为Bean自动注册到ApplicationContext中去

为了能够检测这些类并注册相应的Bean,需要在xml文件中配置下面内容:

<context:component-scan base-package="org.example" />

自动扫描org.example包下面的类

<context:component-scan>包含<context:annotation-config>,通常在使用前者后,就不再使用后者.因为使用前者后,已经包含后者的全部功能.通常使用前者

使用过滤器进行自定义扫描

默认情况下,类被自动发现并注册bean的条件是:使用@Component,@Repository,@Service,@Controller注解或者使用@Component注解的自定义注解

可以通过过滤器修改上面的行为.

如:忽略所有的@Repository注解并用"Stub"代替

?


1

2

3

4

5

6

<beans>

    <context:component-scan base-package="org.example"

        <context:include-filter type="regex" expression=".*Stub.*Repository" />

        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository" />

    </context:component-scan>

</beans>

type类型:annotation基于注解,assignable基于类或接口,aspectj基于aspectj,regex基于正则表达式,custom基于自定义

还可使用use-default-filters="false"禁用自动发现与注册

定义Bean

扫描过程中组件被自动检测,那么Bean名称是由BeanNameGenerator生成的(@Component,@Repository,@Service,@Controller都会有个name属性用于显示设置Bean Name)

?


1

2

3

4

@Service("myMovieLister")

public class SimpleMovieLister {

    // ....

}

也可以自己生成Bean名称,Bean名称为类名的第一个字母小写.

也可以自定义bean命名策略,实现BeanNameGenetator接口,并一定要包含一个无参数构造器

?


1

2

3

<beans>

    <context:component-scan base-package="org.example" name-generator="org.example.MyNameGenerator" />

</beans>

?


1

name-generator="org.example.MyNameGenerator"

指定命名规则的实现

作用域

可用注解@Scope来指明作用域

也可以自定义scope策略,实现ScopeMetadataResolver接口并提供一个无参构造器

?


1

2

3

<beans>

    <context:component-scan base-package="org.example" scope-resolver="org.example.MyNameGenerator" />

</beans>

代理方式

可以使用scoped-proxy属性指定代理,有三个值可选:no,interfaces,targetClass

?


1

2

3

<beans>

    <context:component-scan base-package="org.example" scoped-proxy="interfaces" />

</beans>

北京怎么找富婆包养信息 海淀怎么找富婆包养信息 东城怎么找富婆包养信息 西城怎么找富婆包养信息 宣武怎么找富婆包养信息 丰台怎么找富婆包养信息 朝阳怎么找富婆包养信息 崇文怎么找富婆包养信息 大兴怎么找富婆包养信息 石景山怎么找富婆包养信息 门头沟怎么找富婆包养信息 房山怎么找富婆包养信息 通州怎么找富婆包养信息 顺义怎么找富婆包养信息 怀柔怎么找富婆包养信息 昌平怎么找富婆包养信息 平谷怎么找富婆包养信息 密云怎么找富婆包养信息 延庆怎么找富婆包养信息 网上怎么找富婆包养信息 天津怎么找富婆包养信息 和平怎么找富婆包养信息 河西怎么找富婆包养信息 河北怎么找富婆包养信息 河东怎么找富婆包养信息 南开怎么找富婆包养信息 红桥怎么找富婆包养信息 北辰怎么找富婆包养信息 津南怎么找富婆包养信息 武清怎么找富婆包养信息 塘沽怎么找富婆包养信息 西青怎么找富婆包养信息 汉沽怎么找富婆包养信息 大港怎么找富婆包养信息 宝坻怎么找富婆包养信息 东丽怎么找富婆包养信息 蓟县怎么找富婆包养信息 静海怎么找富婆包养信息 宁河怎么找富婆包养信息 上海怎么找富婆包养信息 黄浦怎么找富婆包养信息 卢湾怎么找富婆包养信息 徐汇怎么找富婆包养信息 长宁怎么找富婆包养信息 静安怎么找富婆包养信息 普陀怎么找富婆包养信息 闸北怎么找富婆包养信息 杨浦怎么找富婆包养信息 虹口怎么找富婆包养信息 闵行怎么找富婆包养信息 宝山怎么找富婆包养信息 嘉定怎么找富婆包养信息 浦东新怎么找富婆包养信息 金山怎么找富婆包养信息 松江怎么找富婆包养信息 青浦怎么找富婆包养信息 南汇怎么找富婆包养信息 奉贤怎么找富婆包养信息 崇明怎么找富婆包养信息 怎么找富婆包养信息 重庆怎么找富婆包养信息 渝中怎么找富婆包养信息 大渡口怎么找富婆包养信息 江北怎么找富婆包养信息 沙坪坝怎么找富婆包养信息 九龙坡怎么找富婆包养信息 南岸怎么找富婆包养信息 北碚怎么找富婆包养信息 万盛怎么找富婆包养信息 双桥怎么找富婆包养信息 渝北怎么找富婆包养信息 巴南怎么找富婆包养信息 万州怎么找富婆包养信息 涪陵怎么找富婆包养信息 黔江怎么找富婆包养信息 长寿怎么找富婆包养信息 江津怎么找富婆包养信息 永川怎么找富婆包养信息 南川怎么找富婆包养信息 綦江怎么找富婆包养信息 潼南怎么找富婆包养信息 铜梁怎么找富婆包养信息 大足怎么找富婆包养信息 荣昌怎么找富婆包养信息 璧山怎么找富婆包养信息 垫江怎么找富婆包养信息 武隆怎么找富婆包养信息 丰都怎么找富婆包养信息 城口怎么找富婆包养信息 梁平怎么找富婆包养信息 开县怎么找富婆包养信息 巫溪怎么找富婆包养信息 巫山怎么找富婆包养信息 奉节怎么找富婆包养信息 云阳怎么找富婆包养信息 忠县怎么找富婆包养信息 石柱怎么找富婆包养信息 彭水怎么找富婆包养信息 酉阳怎么找富婆包养信息 安徽怎么找富婆包养信息 安庆怎么找富婆包养信息 蚌埠怎么找富婆包养信息 亳州怎么找富婆包养信息 巢湖怎么找富婆包养信息 池州怎么找富婆包养信息 滁州怎么找富婆包养信息 阜阳怎么找富婆包养信息 合肥怎么找富婆包养信息 淮北怎么找富婆包养信息 淮南怎么找富婆包养信息 黄山怎么找富婆包养信息 六安怎么找富婆包养信息 马鞍山怎么找富婆包养信息 宿州怎么找富婆包养信息 铜陵怎么找富婆包养信息 芜湖怎么找富婆包养信息 宣城怎么找富婆包养信息 福建怎么找富婆包养信息 福州怎么找富婆包养信息 龙岩怎么找富婆包养信息 南平怎么找富婆包养信息 宁德怎么找富婆包养信息 莆田怎么找富婆包养信息 泉州怎么找富婆包养信息 三明怎么找富婆包养信息 厦门怎么找富婆包养信息 漳州怎么找富婆包养信息 石狮怎么找富婆包养信息 甘肃怎么找富婆包养信息 白银怎么找富婆包养信息 定西怎么找富婆包养信息 甘南怎么找富婆包养信息 嘉峪关怎么找富婆包养信息 金昌怎么找富婆包养信息 酒泉怎么找富婆包养信息 兰州怎么找富婆包养信息 临夏怎么找富婆包养信息 陇南怎么找富婆包养信息 平凉怎么找富婆包养信息 庆阳怎么找富婆包养信息 天水怎么找富婆包养信息 武威怎么找富婆包养信息 张掖怎么找富婆包养信息 合作怎么找富婆包养信息 广东怎么找富婆包养信息 潮州怎么找富婆包养信息 东莞怎么找富婆包养信息 佛山怎么找富婆包养信息 广州怎么找富婆包养信息 河源怎么找富婆包养信息 惠州怎么找富婆包养信息 江门怎么找富婆包养信息 揭阳怎么找富婆包养信息 茂名怎么找富婆包养信息 梅州怎么找富婆包养信息 清远怎么找富婆包养信息 汕头怎么找富婆包养信息 汕尾怎么找富婆包养信息 韶关怎么找富婆包养信息 深圳怎么找富婆包养信息 阳江怎么找富婆包养信息 云浮怎么找富婆包养信息 湛江怎么找富婆包养信息 肇庆怎么找富婆包养信息 中山怎么找富婆包养信息 珠海怎么找富婆包养信息 广西怎么找富婆包养信息 百色怎么找富婆包养信息 北海怎么找富婆包养信息 崇左怎么找富婆包养信息 防城港怎么找富婆包养信息 贵港怎么找富婆包养信息 桂林怎么找富婆包养信息 河池怎么找富婆包养信息 贺州怎么找富婆包养信息 来宾怎么找富婆包养信息 柳州怎么找富婆包养信息 钦州怎么找富婆包养信息 梧州怎么找富婆包养信息 玉林怎么找富婆包养信息 贵州怎么找富婆包养信息 安顺怎么找富婆包养信息 毕节怎么找富婆包养信息 贵阳怎么找富婆包养信息 六盘水怎么找富婆包养信息 铜仁怎么找富婆包养信息 遵义怎么找富婆包养信息 海南怎么找富婆包养信息 海口怎么找富婆包养信息 三亚怎么找富婆包养信息 河北怎么找富婆包养信息 保定怎么找富婆包养信息 沧州怎么找富婆包养信息 承德怎么找富婆包养信息 邯郸怎么找富婆包养信息 衡水怎么找富婆包养信息 廊坊怎么找富婆包养信息 秦皇岛怎么找富婆包养信息 石家庄怎么找富婆包养信息 唐山怎么找富婆包养信息 邢台怎么找富婆包养信息 张家口怎么找富婆包养信息 河南怎么找富婆包养信息 安阳怎么找富婆包养信息 鹤壁怎么找富婆包养信息 焦作怎么找富婆包养信息 开封怎么找富婆包养信息 洛阳怎么找富婆包养信息 漯河怎么找富婆包养信息 南阳怎么找富婆包养信息 平顶山怎么找富婆包养信息 濮阳怎么找富婆包养信息 三门峡怎么找富婆包养信息 商丘怎么找富婆包养信息 新乡怎么找富婆包养信息 信阳怎么找富婆包养信息 许昌怎么找富婆包养信息 郑州怎么找富婆包养信息 周口怎么找富婆包养信息 驻马店怎么找富婆包养信息 黑龙江怎么找富婆包养信息 大庆怎么找富婆包养信息 大兴安岭怎么找富婆包养信息 哈尔滨怎么找富婆包养信息 鹤岗怎么找富婆包养信息 黑河怎么找富婆包养信息 鸡西怎么找富婆包养信息 佳木斯怎么找富婆包养信息 牡丹江怎么找富婆包养信息 七台河怎么找富婆包养信息 齐齐哈尔怎么找富婆包养信息 双鸭山怎么找富婆包养信息 绥化怎么找富婆包养信息 伊春怎么找富婆包养信息 湖北怎么找富婆包养信息 鄂州怎么找富婆包养信息 恩施怎么找富婆包养信息 黄冈怎么找富婆包养信息 黄石怎么找富婆包养信息 荆门怎么找富婆包养信息 荆州怎么找富婆包养信息 十堰怎么找富婆包养信息 随州怎么找富婆包养信息 武汉怎么找富婆包养信息 咸宁怎么找富婆包养信息 襄樊怎么找富婆包养信息 孝感怎么找富婆包养信息 宜昌怎么找富婆包养信息 湖南怎么找富婆包养信息 长沙怎么找富婆包养信息 常德怎么找富婆包养信息 郴州怎么找富婆包养信息 衡阳怎么找富婆包养信息 怀化怎么找富婆包养信息 娄底怎么找富婆包养信息 邵阳怎么找富婆包养信息 湘潭怎么找富婆包养信息 湘西怎么找富婆包养信息 益阳怎么找富婆包养信息 永州怎么找富婆包养信息 岳阳怎么找富婆包养信息 张家界怎么找富婆包养信息 株洲怎么找富婆包养信息 吉林怎么找富婆包养信息 白城怎么找富婆包养信息 白山怎么找富婆包养信息 长春怎么找富婆包养信息 吉林怎么找富婆包养信息 辽源怎么找富婆包养信息 四平怎么找富婆包养信息 松原怎么找富婆包养信息 通化怎么找富婆包养信息 延边怎么找富婆包养信息 江苏怎么找富婆包养信息 常州怎么找富婆包养信息 淮安怎么找富婆包养信息 连云港怎么找富婆包养信息 南京怎么找富婆包养信息 南通怎么找富婆包养信息 苏州怎么找富婆包养信息 宿迁怎么找富婆包养信息 泰州怎么找富婆包养信息 无锡怎么找富婆包养信息 徐州怎么找富婆包养信息 盐城怎么找富婆包养信息 扬州怎么找富婆包养信息 镇江怎么找富婆包养信息 江西怎么找富婆包养信息 抚州怎么找富婆包养信息 赣州怎么找富婆包养信息 吉安怎么找富婆包养信息 景德镇怎么找富婆包养信息 九江怎么找富婆包养信息 南昌怎么找富婆包养信息 萍乡怎么找富婆包养信息 上饶怎么找富婆包养信息 新余怎么找富婆包养信息 宜春怎么找富婆包养信息 鹰潭怎么找富婆包养信息 景德镇怎么找富婆包养信息 辽宁怎么找富婆包养信息 鞍山怎么找富婆包养信息 本溪怎么找富婆包养信息 朝阳怎么找富婆包养信息 大连怎么找富婆包养信息 丹东怎么找富婆包养信息 抚顺怎么找富婆包养信息 阜新怎么找富婆包养信息 葫芦岛怎么找富婆包养信息 锦州怎么找富婆包养信息 辽阳怎么找富婆包养信息 盘锦怎么找富婆包养信息 沈阳怎么找富婆包养信息 铁岭怎么找富婆包养信息 营口怎么找富婆包养信息 内蒙古怎么找富婆包养信息 阿拉善盟怎么找富婆包养信息 巴彦淖尔怎么找富婆包养信息 包头怎么找富婆包养信息 赤峰怎么找富婆包养信息 鄂尔多斯怎么找富婆包养信息 呼和浩特怎么找富婆包养信息 呼伦贝尔怎么找富婆包养信息 通辽怎么找富婆包养信息 乌海怎么找富婆包养信息 乌兰察布怎么找富婆包养信息 锡林怎么找富婆包养信息 兴安盟怎么找富婆包养信息 宁夏怎么找富婆包养信息 固原怎么找富婆包养信息 石嘴山怎么找富婆包养信息 吴忠怎么找富婆包养信息 银川怎么找富婆包养信息 中卫怎么找富婆包养信息 青海怎么找富婆包养信息 果洛怎么找富婆包养信息 海北怎么找富婆包养信息 海东怎么找富婆包养信息 海西怎么找富婆包养信息 黄南怎么找富婆包养信息 西宁怎么找富婆包养信息 玉树怎么找富婆包养信息 山东怎么找富婆包养信息 滨州怎么找富婆包养信息 德州怎么找富婆包养信息 东营怎么找富婆包养信息 菏泽怎么找富婆包养信息 济南怎么找富婆包养信息 济宁怎么找富婆包养信息 莱芜怎么找富婆包养信息 聊城怎么找富婆包养信息 临沂怎么找富婆包养信息 青岛怎么找富婆包养信息 日照怎么找富婆包养信息 泰安怎么找富婆包养信息 威海怎么找富婆包养信息 潍坊怎么找富婆包养信息 烟台怎么找富婆包养信息 枣庄怎么找富婆包养信息 淄博怎么找富婆包养信息 山西怎么找富婆包养信息 长治怎么找富婆包养信息 大同怎么找富婆包养信息 晋城怎么找富婆包养信息 晋中怎么找富婆包养信息 临汾怎么找富婆包养信息 吕梁怎么找富婆包养信息 朔州怎么找富婆包养信息 太原怎么找富婆包养信息 忻州怎么找富婆包养信息 阳泉怎么找富婆包养信息 运城怎么找富婆包养信息 陕西怎么找富婆包养信息 安康怎么找富婆包养信息 宝鸡怎么找富婆包养信息 汉中怎么找富婆包养信息 商洛怎么找富婆包养信息 铜川怎么找富婆包养信息 渭南怎么找富婆包养信息 西安怎么找富婆包养信息 咸阳怎么找富婆包养信息 延安怎么找富婆包养信息 榆林怎么找富婆包养信息 四川怎么找富婆包养信息 阿坝怎么找富婆包养信息 巴中怎么找富婆包养信息 成都怎么找富婆包养信息 达州怎么找富婆包养信息 德阳怎么找富婆包养信息 甘孜怎么找富婆包养信息 广安怎么找富婆包养信息 广元怎么找富婆包养信息 乐山怎么找富婆包养信息 凉山怎么找富婆包养信息 泸州怎么找富婆包养信息 眉山怎么找富婆包养信息 绵阳怎么找富婆包养信息 内江怎么找富婆包养信息 南充怎么找富婆包养信息 攀枝花怎么找富婆包养信息 遂宁怎么找富婆包养信息 雅安怎么找富婆包养信息 宜宾怎么找富婆包养信息 资阳怎么找富婆包养信息 自贡怎么找富婆包养信息 西藏怎么找富婆包养信息 阿里怎么找富婆包养信息 昌都怎么找富婆包养信息 拉萨怎么找富婆包养信息 林芝怎么找富婆包养信息 那曲怎么找富婆包养信息 日喀则怎么找富婆包养信息 山南怎么找富婆包养信息 新疆怎么找富婆包养信息 阿克苏怎么找富婆包养信息 阿勒泰怎么找富婆包养信息 昌吉怎么找富婆包养信息 哈密怎么找富婆包养信息 和田怎么找富婆包养信息 喀什怎么找富婆包养信息 克拉玛依怎么找富婆包养信息 克孜勒苏怎么找富婆包养信息 塔城怎么找富婆包养信息 吐鲁番怎么找富婆包养信息 乌鲁木齐怎么找富婆包养信息 伊犁怎么找富婆包养信息 云南怎么找富婆包养信息 保山怎么找富婆包养信息 楚雄怎么找富婆包养信息 大理怎么找富婆包养信息 德宏怎么找富婆包养信息 红河怎么找富婆包养信息 昆明怎么找富婆包养信息 丽江怎么找富婆包养信息 临沧怎么找富婆包养信息 普洱怎么找富婆包养信息 曲靖怎么找富婆包养信息 西双版纳怎么找富婆包养信息 玉溪怎么找富婆包养信息 昭通怎么找富婆包养信息 浙江怎么找富婆包养信息 杭州怎么找富婆包养信息 湖州怎么找富婆包养信息 嘉兴怎么找富婆包养信息 金华怎么找富婆包养信息 丽水怎么找富婆包养信息 宁波怎么找富婆包养信息 衢州怎么找富婆包养信息 绍兴怎么找富婆包养信息 台州怎么找富婆包养信息 温州怎么找富婆包养信息 舟山怎么找富婆包养信息 个旧怎么找富婆包养信息

时间: 2024-10-13 22:22:39

Spring中Bean的定义及作用域的注解实现的相关文章

spring中bean的五种作用域?Spring中的bean是线程安全的吗?

spring中bean的五种作用域 当通过spring容器创建一个Bean实例时,不仅可以完成Bean实例的实例化,还可以为Bean指定特定的作用域.Spring支持如下5种作用域: singleton:单例模式,在整个Spring IoC容器中,使用singleton定义的Bean将只有一个实例 prototype:原型模式,每次通过容器的getBean方法获取prototype定义的Bean时,都将产生一个新的Bean实例 request:对于每次HTTP请求,使用request定义的Bea

Spring中bean的五个作用域简介(转载)

Spring上个版本的IoC容器支持两个不同的bean作用域(单例与原型).Spring 2.0改进了这一点,不仅提供了一些依赖于Spring部署环境(比如说,在web环境中的request和session作用域bean)的额外的作用域,而且提供了所谓的'钩子'('hooks')(因为找不到更好的表达)使Spring用户可以创造自己的作用域. 应该注意的是,即使单例与原型作用域beans的基本(内在)实现发生了变化,上述变化对最终用户来说是透明的...现有的配置不需要改变或放弃. 如何使用spr

Spring中Bean的五个作用域

当通过spring容器创建一个Bean实例时,不仅可以完成Bean实例的实例化,还可以为Bean指定特定的作用域.Spring支持如下5种作用域: singleton:单例模式,在整个Spring IoC容器中,使用singleton定义的Bean将只有一个实例 prototype:原型模式,每次通过容器的getBean方法获取prototype定义的Bean时,都将产生一个新的Bean实例 request:对于每次HTTP请求,使用request定义的Bean都将产生一个新实例,即每次HTTP

Spring学习九----------Bean的配置之Bean的定义及作用域的注解实现

Spring Bean常用注解 @Component:通常注解,可用于任何Bean @Repository:通常用于注解DAO层,即持久层 @Service:通常用于注解Service层,即服务层 @Controller:通常用于注解Controller层,即控制层 类的自动检测及Bean的注册 <context:component-scan base-package=""/>:自动扫描base-package定义的包或其子包下的类,并将带有@Component,@Cont

Bean的定义及作用域的注解实现

Classpath扫描与组件管理: 从Spring3.0开始,Spring JavaConfig项目提供了很多特性,包括使用java而不是xml定义bean,指的是注解 @Configuration,@Bean ,@Import ,@DependsOn @Component是一个通用注解,可用于任何bean @Repository:通常用于注解DAO类,即持久层 @Service:通常用于注解Service类,即服务层 @Controller:通常用于Controller类,即控制层MVC 元注

Spring学习(5)---Bean的定义及作用域的注解实现

Bean管理的注解实现 Classpath扫描与组件管理 类的自动检测与注册Bean <context:annotation-config/> @Component,@Repository,@Service,@Controller @Required @Autowired @Qualifier @Resource (一) Classpath扫描与组件管理 从Spring3.0开始,Spring javaConfig项目提供了很多特性,包括使用java而不是xml定义bean,比如:@Confi

spring中bean的作用域属性singleton与prototype的区别

1.singleton 当一个bean的作用域设置为singleton, 那么Spring IOC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会返回bean的同一实例.换言之,当把一个bean定义设置为singleton作用域时,Spring IOC容器只会创建该bean定义的唯一实例.这个单一实例会被存储到单例缓存(singleton cache)中,并且所有针对该bean的后续请求和引用都将返回被缓存的对象实例,这里要注意的是singl

spring中bean的作用域

Spring中bean的作用域可以在xml配置文件(一般叫bean.xml或ApplicationContext.xml)中通过scope属性进行指定. 在Spring中,bean对象可以有多种作用域 singletion 默认的,每个IOC容器只创建一个Bean实例 prototype每次请求创建一个Bean实例 request每次http请求创建一个实例 session每次会话创建一个实例 globalsession每个全局Http请求创建一个实例

Spring学习系列之——第三章:Spring中Bean的配置(一)

Spring的配置形式有两种:基于XML配置和基于注解配置. Bean的配置方式有以下几种: 通过全类名,即通过反射的方式: 通过工厂方法,有静态工厂方法和实例工厂方法: 通过FactoryBean配置: 通过XML文件配置bean 本篇文章将按照下面的目录来说明基于XML的方式配置bean JavaBean的创建 通过XML配置的方式来配置bean XMLbean的配置: spring的依赖注入的方式 属性注入 构造器注入 工厂方法注入(很少使用) 测试方法 IoC容器的实例化: Applic