知识大全 自然的访问spring容器中的bean

Posted 变量

篇首语:不亏待每一份热情,不讨好任何的冷漠。一旦攒够了失望,就离开。从此再也不见,友情如此,爱情亦如此。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 自然的访问spring容器中的bean相关的知识,希望对你有一定的参考价值。

    Spring依赖其IOC特征 轻松的管理著一堆非常有价值的bean 这些bean在spring容器中的依赖关系都已注入好 所以相互调用非常方便

  但既然是有价值的bean 我们就想在Java代码的各处都能调用 实际中的确有这样的场景 比如

  Struts的action要用其中的service;

  充血领域模型的Hibernate实体会需要dao

  要调用这些bean 现在也确实有很多做法

  以下代码描述的方式 被称为bad smell 是最不自然的方式 不被提倡;

  JDBCDao jdbcDao = (JdbcDao)springContext getBean( jdbcDao );

  自然的调用方式是 你调用的bean 也是注入的

  struts 是通过一个spring plugin来做到的;

  hibernate就没那么简单了 要用到annotation声明 要什么ASPectJ织入 概念复杂 麻烦之极;

  我有一个简单的做法 至少对单件的bean很可行(一般我们需要的bean也就是单件的) 思路很简单 依靠spring的注入机制 把容器内的bean注入为静态变量 而静态变量天然就是各处可用的 以下是代码

  Java:

       public  class JdbcDao       //静态变量   private static JdbcDao   instance;   //静态方法 获取单件对象   public static JdbcDao get()   return instance;      //对象方法 注入到静态变量   public void setInstance(JdbcDao _inst)   instance = _inst;      public List query(String sql)            

  spring配置 将自身注入

      <bean id= jdbcDao  class= net jacker dao JdbcDao >        <property name= instance >            <ref bean= jdbcDao  />        </property>    </bean>

  这样 只要spring容器启动 构造好bean后 就会自行将其注入到静态变量 然后在各处的调用就很简单了

      public class UserAction    JdbcDao jdbcDao = JdbcDao get();   public String execute()   jdbcDao query();         

  注 网上有一些思路也是从静态变量入手的 但做法有所不同 有的需要依赖Web容器 就不多做介绍了

cha138/Article/program/Java/ky/201311/28313

相关参考

知识大全 Spring容器对Bean组件的管理

Spring容器对Bean组件的管理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一Bean对

知识大全 简单模拟spring的容器管理bean

package spring;import javaioIOException;import URL;import javautilArrayList;impo

知识大全 SPRING容器外访问SPRING

SPRING容器外访问SPRING  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在JSP或者S

知识大全 servlet中如何访问spring容器

  packagewebaction;  importjavautilArrayList;  importjavautilList;  importjavaxservletHttpServlet;  

知识大全 spring中的jdbc访问类JdbcTemplate使用

spring中的jdbc访问类JdbcTemplate使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 Spring创建Bean的过程

Spring创建Bean的过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  beans包提供了

知识大全 详解Spring中bean的scope

详解Spring中bean的scope  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  如何使用s

知识大全 Spring获取Bean的几种方式

Spring获取Bean的几种方式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  方法一在初始化

知识大全 Spring中bean的基本xml配置

Spring中bean的基本xml配置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在spri

知识大全 Spring强制向servlet中注入bean的方法

Spring强制向servlet中注入bean的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!