Spring的认识,以及快速入门案例---3

spring开发提倡接口变成,配合di技术可以解决层与层之间的解耦

体验一下spring的di配合接口编程,完成一个字母大小写的转换。

思路:1.创建一个接口ChangeLetter

           2.两个类实现接口 UpperLetter,LowwerLetter

           3.把对象配置到Spring容器中

 两个bean标签的id一样,但是class一个是UpperLetter另一个是LowwerLetter。相当于 ChangeLetter changeLetter = new UpperLetter();用接口ChangeLetter去接收

通过上面的案例,我们可以初步体会到di配合接口编程,的确可以减少Web层和业务成的耦合度

二:装配Bean

bean工厂介绍:

  工厂设计模式,创建分发各种bean。配置好他们之间的写作关系,参与bean的生命周期。BeanFactory factory = new XMLBeanFactory(new ClassPathResource("applicationContext.xml"));bean工厂只把bean的定义信息载进来,用到的时候才实例化,factory.getBean("mybean");就可以得到一个bean。

  从Applicationcontext应用上下文中获取bean和从bean工厂容器中获取bean

    如果使用applicationcontext,则配置的bean如果是singlton不管你用不用,都被实例化(好处就是可以预先加载,缺点就是耗内存),如果使用了beanfactory,则当你实例化该对象时候,配置的bean不会被马上实例化,当你使用的时候,才被实例化(好处就是节约内存,缺点就是速度比较慢)

   一般没有特殊要求,应当使用ApplicationContext去获取。

  bean的scope的细节

    singlton 在每个Spring Ioc 容器中一个bean定义对应一个对象的实例 scope=singlton

    prototype 一个bean定义对应多个对象实例。scope=prototype

  还有三个配置,request,session,global-session是在web开发中才有意义

三种获取ApplicationContext对象引用的方法

  1.ClassPathXmlApplicationContext --->通过类路径

  2.FileSystemXMLApplicationContext--->通过文件路径

  3.XmlWebApplicationContext

猜你喜欢

转载自blog.csdn.net/qq_37233895/article/details/81225655
今日推荐