(第2讲)spring的基本流程

开发一个spring项目.——>得出结论:spring是一种容器框架,可以配置bean(通俗的将就是java类)并且注入属性(给那个java类的对象添加属性)

1.      引入spring的开发包(最小配置spring.jar 该包把常用的jar都包括, 还要写日志包 common-logging.jar

2.      创建spring的一个核心文件applicationContext.xml, 该文件一般放在src目录下,该文件中引入 xsd文件 :

[  hibernate有核心 hibernate.cfg.xml;     struts核心文件 struts-config.xml  ], 

可以从给出的案例中拷贝一份.

3.      配置bean

<!-- 在容器文件中配置bean(service/dao/domain/action/数据源) -->

<!-- bean元素的作用是,当我们的spring框架加载时候,spring就会自动的创建一个bean对象,并放入内存

UserService userSerivce=new UserService();

userSerivce.setName("1"); 利用反射机制,读取class文件,调用set方法,直接写入-->

<beanid="userService" class="com.service.UserService"> 

<property name="name"><!-- 添加属性;这里就体现出注入的概念.-->

        <value>1</value>

</property>

</bean>

4.      在Test.java中,我们利用ApplicationContext 得到容器对象(ApplicationContext 对象),然后这个对象对应配置文件,根据配置文件可以直接调用UserServiceus对象的引用

              (不利于spring直接写,是先引入需要类的包,然后创建对象,添加属性值即可,如果用spring可以不用引入包也不用创建对象添加属性值)

              //1.得到spring 的applicationContext对象(容器对象)

              ApplicationContext  ac=new ClassPathXmlApplicationContext("applicationContext.xml");//利用这个ApplicationContextac直接对应applicationContext.xml文件

              UserServiceus=(UserService) ac.getBean("userService");

              us.sayHello();

1.当ClassPathXmlApplicationContext("applicationContext.xml");执行的时候,我们的spring容器对象被创建,同时

applicaionContext.xml中配置bean就会被创建(内存[Hashmap/HashTable])

2.UserServiceus=(UserService) ac.getBean("userService");us.sayHello();


总结:使用spring ,没有new 对象,我们把创建对象的任务交给spring框架;

spring实际上是一个容器框架,可以配置各种bean(action/service/domain/dao),并且可以维护bean与bean的关系,当我们需要使用某个bean的时候,我们可以getBean(id),使用即可

ioc是什么?

答 :ioc(inverse of controll ) 控制反转: 所谓控制反转就是把创建对象(bean),和维护对象(bean)的关系的权利从程序中转移到spring的容器(applicationContext.xml),而程序本身不再维护.

 

DI是什么?

答:di(dependency injection) 依赖注入: 实际上di和ioc是同一个概念,spring设计者认为di更准确表示spring核心技术



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值