4-1—spring(bbs_0.8)

来源:互联网 发布:歌曲伴奏制作软件下载 编辑:程序博客网 时间:2024/06/13 16:37

1、产生背景:服务层与数据层之间:有紧耦合
服务层中(service)会有数据层(dao)中接口的实例化(在service中构造器实例化)
利用applicationContext.xml来进行配置

<bean id="commentDao" class="com.ifly.bbs.dao.impl.CommentDaoImpl" /><bean id="commentService" class="com.ifly.bbs.service.impl.CommentServiceImpl" >        <property name="commentDao" ref="commentDao"></property>        </bean>

2、哪些需要解紧耦合:(dao、service)、action(是由struts来进行管理)
在applicationContext.xml来进行配置
没有将struts与spring集成:在action中利用如下方法获取对象

public MyNewsAction(){        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");        newsService = ac.getBean("newService", NewsServiceImpl.class);    }

3、层与层之间的调用:使用接口进行调用

4、spring核心机制:依赖注入
DI:依赖注入
IOC:控制反转
DI、IOC是同一个行为的两种表述。

5、设置注入:a、提供set方法。b、<property name="" ref=""/>
构造注入:a、提供构造器。b、<constructor-arg ref=""/>

6、容器中的Bean的作用域:<bean scope=""/>
默认单例模式的作用域:singleton
prototype作用域:<bean scope="prototype">

7、ref引用的对象必须为spring管理的对象(“ ”里面的内容为中的id属性)
设置普通值:<property name="id" value="101 />"

8、自动装配注入Bean:无须使用ref显示指定依赖Bean而是spring通过其中的规则为调用者注入被依赖的Bean

<bean id="" class="" autowire="byName" /><bean id="" class="" autowire="byName" />

a、byName:根据setter方法名进行自动装配。spring容器查找所有的bean。其中id与setter方法名去掉set前缀,并小写首字母后同名的bean来完成注入。
b、byType:根据setter方法的形参类型来自动装配。

9、Spring的bean与JavaBean
A、JavaBean:
a、一般作为值对象传递参数,要求每个属性提供getter和setter方法。
b、不接受任何容器管理器生命周期。

0 0
原创粉丝点击