zoukankan      html  css  js  c++  java
  • Spring- Bean的命名

    Bean id的命名约定:

      1.遵循XML命名规范

      2.由字母数字下划线组成

      3.驼峰式,首个单词字母小写,第二个单词首字母要大写

    样例项目的结构

    xml应该放在src下面的conf中,如果不方法src下将会找不到conf文件

    conf-definition.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        
        xsi:schemaLocation="
        	http://www.springframework.org/schema/beans 
        	http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
            <!-- bean的六种命名方式 -->
            <!-- 配置全限定类名,唯一 -->
            <bean class="com.zc.spring.chapter04.definition.HelloWorldImpl" />
            <!-- 指定id,唯一 -->
            <bean id="helloWorld" class="com.zc.spring.chapter04.definition.HelloWorldImpl" />
            <!-- 指定name,唯一 -->
            <bean name="helloWorldByName" class="com.zc.spring.chapter04.definition.HelloWorldImpl" />
            <!-- 指定id和name,唯一 -->
            <bean id="helloWorldById" name="helloWorldByName01" class="com.zc.spring.chapter04.definition.HelloWorldImpl" />
            
            <!-- 指定多个name,唯一 -->
            <bean name="bean1;alias11;alias12;alias13" class="com.zc.spring.chapter04.definition.HelloWorldImpl" />
            
            <bean id="bean2" name="alias21;alias22;alias23" class="com.zc.spring.chapter04.definition.HelloWorldImpl" />
            
            
            <!-- 指定别名,唯一 -->
            <bean name="bean3" class="com.zc.spring.chapter04.definition.HelloWorldImpl" /> 
            <alias name="bean3" alias="alias31"/>
            <alias name="bean3" alias="alias32"/>
            <alias name="bean3" alias="alias33"/>
           
    </beans>
    

    HelloWorld接口

    package com.zc.spring.chapter04.definition;
    
    public class HelloWorldImpl implements HelloWorld {
    
    	@Override
    	public void sayHello() {
    		System.out.println("Hello World!");
    
    	}
    
    }  

    Main运行类

    package com.zc.spring.chapter04.definition;
    
    import org.springframework.beans.factory.BeanFactory;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class Main {
    
    	
    	public static void main(String[] args) {
    		
    		
    		
    		sayHelloWorldByAlias();
    	}
    	
    	public static void sayHelloWorldById() {
    		BeanFactory beanFactory = new ClassPathXmlApplicationContext("conf/conf-definition.xml");
    		HelloWorld helloWorld = beanFactory.getBean("helloWorld", HelloWorld.class);
    		helloWorld.sayHello();
    		
    	}
    	
    	public static void  sayHelloWorldByClass() {
    		BeanFactory beanFactory = new ClassPathXmlApplicationContext("conf/conf-definition.xml");
    		HelloWorld helloWorld = beanFactory.getBean(HelloWorldImpl.class);
    		helloWorld.sayHello();
    	}
    
    	public static void  sayHelloWorldByName() {
    		BeanFactory beanFactory = new ClassPathXmlApplicationContext("conf/conf-definition.xml");
    		HelloWorld helloWorld = beanFactory.getBean("helloWorldByName", HelloWorld.class);
    		helloWorld.sayHello();
    	}
    	
    	public static void  sayHelloWorldByNameAndId() {
    		BeanFactory beanFactory = new ClassPathXmlApplicationContext("conf/conf-definition.xml");
    		HelloWorld helloWorld = beanFactory.getBean("helloWorldById", HelloWorld.class);
    		helloWorld.sayHello();
    		HelloWorld helloWorld01 = beanFactory.getBean("helloWorldByName01", HelloWorld.class);
    		helloWorld01.sayHello();
    	}
    	
    	public static void sayHelloWorldMultiName() {
    		BeanFactory beanFactory = new ClassPathXmlApplicationContext("conf/conf-definition.xml");
    		HelloWorld helloWorld = beanFactory.getBean("bean1", HelloWorld.class);
    		helloWorld.sayHello();
    		HelloWorld bean11 = beanFactory.getBean("alias11",HelloWorld.class);
    		bean11.sayHello();
    		HelloWorld bean12 = beanFactory.getBean("alias12",HelloWorld.class);
    		bean12.sayHello();
    		HelloWorld bean13 = beanFactory.getBean("alias13",HelloWorld.class);
    		bean13.sayHello();
    		
    		HelloWorld bean2 = beanFactory.getBean("bean2",HelloWorld.class);
    		bean2.sayHello();
    		HelloWorld bean21 = beanFactory.getBean("alias21",HelloWorld.class);
    		bean21.sayHello();
    		HelloWorld bean22 = beanFactory.getBean("alias22",HelloWorld.class);
    		bean22.sayHello();
    		HelloWorld bean23 = beanFactory.getBean("alias23",HelloWorld.class);
    		bean23.sayHello();
    	}
    	public static void  sayHelloWorldByAlias() {
    		//配置文件加载以及IOC容器启动
    		BeanFactory beanFactory = new ClassPathXmlApplicationContext("conf/conf-definition.xml");
    		//通过别名获取bean实例
    		HelloWorld bean3 = beanFactory.getBean("bean3", HelloWorld.class);
    		//利用bean实例输出helloworld信息
    		bean3.sayHello();
    		HelloWorld bean31 = beanFactory.getBean("alias31",HelloWorld.class);
    		bean31.sayHello();
    		HelloWorld bean32 = beanFactory.getBean("alias32",HelloWorld.class);
    		bean32.sayHello();
    		HelloWorld bean33 = beanFactory.getBean("alias33",HelloWorld.class);
    		bean33.sayHello();
    	}
    }
    

      

  • 相关阅读:
    DS博客作业03--树
    DS博客作业02--栈和队列tt
    DS博客作业02--线性表
    c博客06-结构体&文件
    C博客作业05--指针
    C语言博客作业04--数组
    C语言博客作业03--函数
    图书馆
    DS博客作业05——查找
    DS博客作业04——图
  • 原文地址:https://www.cnblogs.com/RzCong/p/9125349.html
Copyright © 2011-2022 走看看