Spring Ioc容器

1.Spring的个人理解

1.xml版本

  • 通过xml文件管理bean的注册,将bean注入ioc容器。
  • spring管理bean的原理就是,通过工厂类+反射机制+xml解析技术,完成类的实例化,也就是所说的创建类的对象。
  • xml文件的配置,实际上就是告诉反射机制目标类的构造,也就是类的结构,用来创建完整的目标类对象,这也就是为啥会有构造注入constructor、属性注入property。
  • bean之间的相互引用,使用<bean/>元素的ref属性来指定
  • 开启ioc容器的时候就会自动创建好配值得所有bean,用的时候使用ApplicationContext实例化对象直接调用getBean(“bean id”,“bean.class”)就可以简单地获取目标bean的实例化对象了。
  • 默认情况下,bean都是单例创建(scope属性singleton模式)的,也就是获得的bean地址都相同。
  • scope 的prototype属性,与singleton相反,每次被调用都会创建一个新的引用,每次都相当于是new。

2.注解版本

  • 简单的说,注解版本就是比xml将bean注入Ioc容器更快的方式。
  • 通过注解,将需要的类先标记为bean,默认都是类的首字母小写,相当于xml中<bean>元素的id属性,然后通过扫描注入到容器中,这些注解都是写到类声明的上面。
  • @compoment:通用注解;@Service:业务层注解,就是component换了个名字;@Repository:数据访问层注解;@Controller:控制层注解
  • @Autowired:自动装配注解。通常用在成员变量上面。意思就是,根据你声明的实例的类型去匹配你注入到容器的bean,如果匹配到就把实例拿过来用。默认是byType,可以配合@Qualifier注解的参数,来按照你创建的实例名称来匹配bean。
  • @Resource:该注解和@Autowired注解一样,只是@Resource是默认按照实例名称匹配注入的bean,如果匹配不到,就用byType来匹配。
  • @ComponentScan(“com.wg”):扫描com.wg包下面的所有用bean,注册到容器中,也就是创建bean的实例放入ioc中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值