入门Spring ioc

 简单的来记录一下自己的SSM框架入门--------IOC篇段

ioc(控制反转 -将对象的创建的权利从类型本身来创建,来交给spring工厂来创建)的配置。

<bean>:是可以指spring中bean的一个对象。

class:是实现类的全名,spring中bean工厂会自动根据该类型名字,采用反射机制来得到具体的类的类型

 id:bean的名称(对象的名称),作用是:是在应用程序中,得到对象的标识,注意:id在整个spring的配置文件中,必须唯一! 习惯上:id一般是用接口的小写名字,比如你的借口为UserDao 那么你的id可以写为 “userDao”,千万要判断清楚,本人在这上面也出现过类似的错误,控制台也会报空指针异常,提示找不到这个bean对象。

name:与id差不多的作用,可以通用!

并且在ioc中可以使用依赖注入的方法,使用<property>标签将注入setter的名字,例如:setXxx(),名字xxx()===》setUserDao(),名字userDao

======================================================================================

当然在配置文件里写法是这样的:

   <bean id ="userService(此处的名字是你要注入的对象:依赖对象,反之被依赖对象就在下面解释了)" class ="包名.类名(也就是你的接口实现类)"

    简单解释一下:你要注入的对象里面必须要有一个set方法,用到set方法你就得声明。之前提到的userDao就可以作为被依赖注入对象,在userService方法里面写入 private UserDao userDao;然后自动调出set方法。

   例如:<property name = "userDao" ref="userDao">

   name填的就是之前解释的被依赖注入对象的名字,也就是之前所解释的东西;

   而ref就是要注入具体的bean对象的引用,写被依赖的bean的名字。

  简单捋一捋:也就是说我现在有userDao和userService,我把userDao的bean注入给userService。userDao是被注入对象,userService是注入对象,我的工厂里现在有两个bean 一个是id为userDao的,一个是id为userService的。

   注意,你的声明必须写在userService的实现类里面,这样才能注入成功。

   之后,就在测试类里面验证就可以了

=======================================================

获取工厂 

ApplicationContext ac = new ClassPathXmlApplicationContext(你的spring全局配置文件);

然后获取bean对象,使用ac对象调用getBean方法

ac.getBean();

因为返回的是Object类型,所以要强制转换

ac.getBean();  =====》UserService userService = (UserService) ac.getBean("这里是你的依赖对象的bean id");

然后调用你在实现类里写的方法就可以了。

             ps:因为是新手,记录自己的学习过程和理解,所以大概只有自己能看懂吧嘿嘿,勿喷,我还是个菜鸡。

    

    

 

猜你喜欢

转载自www.cnblogs.com/Gyoung-1/p/10705855.html