spring框架注入的位置

项目进入尾声,至少目前看起来是这样,写操作手册无聊的时候,就对比了使用spring开发的两个项目关于注入位置不同的问题。

A项目:

配置文件:

<bean id="deleteService" class="com.lsk.database.service.DeleteService" />

<bean id="deleteref" class="com.lsk.webwork.action.DeleteAction"
    singleton="false">
    <property name="deleteservice">
        <ref local="deleteService" />
    </property>
</bean>

注入DeleteService的实现到Action,DeleteService通过spring框架管理bean获取UserDao,利用了Hibernate自动生成的方法代码。

ApplicationContext ctx = new ClassPathXmlApplicationContext(
        "applicationContext.xml");
UsersDAO usersDao = UsersDAO.getFromApplicationContext(ctx);

具体数据库的操作在UserDAO中实现。

关于DAO的配置文件设置如下:

<bean id="UsersDAO"
    class="com.lsk.hibernate.databaseobject.UsersDAO">
    <property name="sessionFactory">
        <ref bean="msfid" />
    </property>
</bean>

小结:将curd操作封装为service,分别注入到ACTION。

B项目:

配置文件:

<!--f05 manager service begin-->
<bean id="f05ServiceImpl"
    class="com.dc.portal.nsrywgl.f05.service.impl.F05ServiceImpl">
    <property name="f05DAO">
        <ref bean="f05DAOImpl" />
    </property>
</bean>

<bean id="f05DAOImpl" parent="baseDAO"
    class="com.dc.portal.nsrywgl.f05.dao.impl.F05DAOImpl" />
<!--f05 manager service end-->

注入DAO的实现类到Service实现类中,在Action中通过

IF05Service service = (IF05Service) AppContext.getBean("f05ServiceImpl");

的方式获取Service实现类。

时间: 2024-08-03 14:42:33

spring框架注入的位置的相关文章

详解Java的MyBatis框架与Spring框架整合中的映射器注入_java

MyBatis-Spring允许你在Service Bean中注入映射器.当使用映射器时,就像调用DAO那样来调用映射器就可以了,但是此时你就不需要进行任何DAO实现的编码,因为MyBatis会为你进行. 使用注入的映射器,你的代码就不会出现任何MyBatis-Spring依赖和MyBatis依赖.在我们的应用中有这样一个简单的映射器.你也应该知道映射器仅仅是一个接口: public interface UserMapper { User getUser(String userId); } 这是

实例讲解Java的Spring框架中的控制反转和依赖注入_java

近来总是接触到 IoC(Inversion of Control,控制反转).DI(Dependency Injection,依赖注入)等编程原则或者模式,而这些是著名 Java 框架 Spring.Struts 等的核心所在.针对此查了 Wikipedia 中各个条目,并从图书馆借来相关书籍,阅读后有些理解,现结合书中的讲解以及自己的加工整理如下:   eg1问题描述: 开发一个能够按照不同要求生成Excel或 PDF 格式的报表的系统,例如日报表.月报表等等.   解决方案: 根据"面向接口

深入解析Java的Spring框架中bean的依赖注入_java

每一个基于java的应用程序都有一个共同工作来展示给用户看到的内容作为工作的应用几个对象.当编写一个复杂的Java应用程序,应用程序类应该尽可能独立其他Java类来增加重复使用这些类,并独立于其他类别的测试它们,而这样做单元测试的可能性.依赖注入(或有时称为布线)有助于粘合这些类在一起,同时保持他们的独立. 考虑有其中有一个文本编辑器组件的应用程序,要提供拼写检查.标准的代码将看起来像这样:   public class TextEditor { private SpellChecker spe

java框架spring依赖注入的6种方式

spring中如何给对象的属性复制? 1)通过构造方法2)通过set方法给属性注入值3)p命名空间4)自动转配(了解即可,不推荐使用)5)注解6)通过接口 准备工作(模拟业务方法)Action-->service-->dao 1)UserDao:     p<span style="font-family:Courier New;">ublic class UserDao {           public void save(){              

详解Java的Spring框架中bean的注入集合_java

使用value属性和使用<property>标签的ref属性在你的bean配置文件中的对象引用,这两种情况下可以处理单值到一个bean,如果你想通过多元值,如Java Collection类型List, Set, Map 及 Properties.要处理这种情况,Spring提供了四种类型的如下集合的配置元素: 可以使用<list> 或<set> 来连接任何实现java.util.Collection或数组. 会遇到两种情况(a)将收集的直接的值及(b)传递一个bean

使用Spring框架轻松解决数据访问和配置问题

如果您是一名典型的开发人员,那您必然乐意得到一个可解决数据访问问题的解决方案,也会欢迎任何能够简化配置的工具.如果不是有人提出了 Spring,则对 Web 应用程序做一个总体介绍将非常困难,对于这些特定的问题更是如此.但是,天哪,我们真的需要另外一种 Web 应用程序框架吗?在我决定撰写一期 Geronimo 叛逆者文章,来探讨 Apache Geronimo 和 Spring 的交叉时,我就知道,这正是搞清所有关于 Spring 框架的传闻的大好时机.Jeff Genender 为我解答了很

Spring框架系列相关面试问题

1.说说你了解的Spring中的设计模式  第一种:简单工厂 又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一.  简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类.  spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定.如下配置,就是在 HelloItxxz 类中创建一个 itxxzBean. 1

简介Java的Spring框架的体系结构以及安装配置_java

体系结构Spring有可能成为所有企业应用程序的一站式服务,然而,Spring是模块化的,使您可以挑选哪些模块是适用的,而不必把在余下的也引入.以下部分给出详细介绍在Spring框架中所有可用的模块. Spring框架提供约20个模块,可以根据应用程序的要求来使用. 核心容器: 核心容器组成的核心,Beans,上下文和表达式语言模块,其细节如下: 核心模块提供了框架的基本组成部分,包括IoC和依赖注入功能. Bean模块提供BeanFactory是工厂模式的经典实现. Context 上下文模块

深入理解Java的Spring框架中的IOC容器_java

Spring IOC的原型spring框架的基础核心和起点毫无疑问就是IOC,IOC作为spring容器提供的核心技术,成功完成了依赖的反转:从主类的对依赖的主动管理反转为了spring容器对依赖的全局控制. 这样做的好处是什么呢? 当然就是所谓的"解耦"了,可以使得程序的各模块之间的关系更为独立,只需要spring控制这些模块之间的依赖关系并在容器启动和初始化的过程中将依据这些依赖关系创建.管理和维护这些模块就好,如果需要改变模块间的依赖关系的话,甚至都不需要改变程序代码,只需要将更