1.Spring的bean的作用域

  1.bean的作用域就是描述一个对象在容器中的作用范围,spring的bean的作用域有五种

作用域            描述
singleton        单列模式创建,在ioc容器中只会创建一次
prototype原型模式创建,每次取得的对象都会重新创建,但是需要进行配置
request只有用户发送请求之后才会创建,请求结束之后bean就会被销毁了,(需要web的支持)
session

只有用户第一次访问服务器的时候才会创建,session销毁

之后就会随之销毁

global session和session类似,但需要Portlet容器的支持。使用scope属性进行配置

       1、singleto 单列模式创建 ioc容器中只会创建一次所以模拟证明

1、在resource文件下创建.xml配置文件 创建bean 

使用test创建启动类  创建两个applicationContext 对象查看结果 猜测  如果singleton是单列模式只在ioc容器中创建一次 我可以判断出 无论我们创建多少次 bean对象 使用.getName()方法获取

多少次 所得到的结果 都应该只有一个。

2、prototype 原型创建模式,每次取得对象都会重新创建 但是需要进行配置;

        

根据结果我们可以判断  prototype每次创建对象 都会重新创建bean放入IOC容器 因为第一次 我们使用setter方法注入了Name值 而在第二次创建 对象后 getName,则返回空说明  第二次创建的bean对象其实已经重新创建。他跟 singleto  正好相反。

2、常见的注解(学习笔记)

        @Component("empService")        表示要创建一个bean到容器中(建议在dao层或者其他组件中使用) 默认的名字就是类名的首先字母小写

        @Scope("prototype")        表示使用多列形式创建bean(每次获取对象都会重新创建bean)

        @Lazy        懒加载

        @Service        创建一个bean(建议使用在控制层中)

        @Controller        创建一个bean(建议 在控制层中使用,表示一个控制器)

        @Repository        创建一个bean(建议在dao层使用持久化使用)

        @Configuration        创建一个bean(建议在配置类上使用)

        @Autowired        主动注入 :在容器中查找对应的bean赋值给对应的属性,如果容器中没有查找到就抛出异常

        @Bean         在方法上使用该注解 会将方法创建的对象放入Spring容器中

        @Transactional        表示该方法要使用事务

        @EnableTransactionManagement        开启事务代理

        @EnableAspectJAutoproxy        开启动态代理支持(自己定义切面时候需要打开  )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值