zoukankan      html  css  js  c++  java
  • Spring 实例化bean的三种方式

    第一种方法:直接配置Bean

    Xml代码  收藏代码
    1. <bena id="所需要实例化的一个实例名称" class="包名.类名"/>  

    例如:

    配置文件中的bean.XML代码:

    Xml代码  收藏代码
    1. <bean id="userA" class="com.test.User"/>  
    Java代码  收藏代码
    1. package com.test  
    2.   
    3. public class User{  
    4.     public void test(){  
    5.         System.out.println("HelloWorld");  
    6.     }  
    7. }  

    第二种方法:简单工厂创建Bean

    Xml代码  收藏代码
    1. <bena id="所需要实例化的一个实例名称" class="包名.类名" factory-mathod="该类创建实例的方法名"/>  

    通过使用简单工厂的静态方法进行创建:

    例如:

    Xml代码  收藏代码
    1. <bean id="userA" class="com.test.MyFactory" factory-mathod="getInstance"/>  
    Java代码  收藏代码
    1. package com.test  
    2.   
    3. public class MyFactory{  
    4.      public static User getInstance(){  
    5.            return new User();  
    6.      }  
    7. }  

    第三种方法:抽象工厂方法创建Bean

    Xml代码  收藏代码
    1. <bena id="所需要实例化的一个工厂实例名称" class="包名.工厂类类名"/>  
    2. <bean id="所需要创建的实例名" factory-bean="用来创建实例的工厂实例名" factory-mathod="工厂实例中用于创建实例的方法名"/>  

    这种方法要先创建工厂实例,再通过调用工厂实例的方法来创建所需要的实例。

    例如:

    Xml代码  收藏代码
    1. <bean id="userFactory" class="com.test.CreateFactory"/>  
    2. <bean id="userA" factory-bean="userFactory" factory-mathod="getInstance"/>  
    Java代码  收藏代码
    1. package com.test  
    2.   
    3. public class CreateFactory{  
    4.      public User getIntance(){  
    5.            return new User();  
    6.      }  
    7. }  

    在大多数情况下我们用的都是第一种方式,另外要注意的是:如果实例名存在特殊字符("/"等字符),那么就不能用id来标识实例名,

    而要用name属性来标识。

  • 相关阅读:
    for循环使用详解(c语言版)
    在Spring中轻松写日志
    项目可行性分析的困难
    控制台游戏引擎CGE——贪吃蛇
    python做数据分析pandas库介绍之DataFrame基本操作
    什么是 JWT -- JSON WEB TOKEN
    .net core 单体应用基于策略模式授权
    ABP VNext 初始化数据库时报错
    ABP VNext简介及使用代码生成器ABPHelper自动生成代码
    使用jenkins 在docker中发布.net core应用
  • 原文地址:https://www.cnblogs.com/afjbk/p/5958115.html
Copyright © 2011-2022 走看看