⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 springioc.txt

📁 java框架学习总结,互相学习,共同进步
💻 TXT
字号:
一.spring 中 自动绑定机制?
<bean id="ref" autoWrire= />
1.ByType [按类型自动绑定]
2.ByName [按名称自动绑定]
3.constructor[根据构造器进行绑定]
二.集合及数组、Properties类型的注入



          实例xml代码如下:
             
List
Set  ----->
                 <list>
                    <ref bean="user1"/>
                    <ref bean="user1"/>
                    <ref bean="user1"/> 
                 </list>
Map--->           
             <map>
		<entry key="p1">
		     <ref bean="user1"/>
		</entry>
		<entry key="p2">
         	     <ref bean="user2"/>
		</entry>
		<entry key="p3">
		     <ref bean="user3"/>
		</entry>
	     </map>

Properties--->   
             <props>
		<prop key="some1">
		aa
		</prop>
		<prop key="some2">
		bbb
		</prop>
		<prop key="some3">
		ccc
		</prop>
	     </props>
     
             







三.Aware相关接口:表示在Spring中实例化Bean之前进行的相关调用。
   1.BeanNameAware:表示在Spring中实例化Bean之前进行调用。 
   代码如下:
   import org.springframework.beans.factory.BeanNameAware;

   public class HelloBean implements BeanNameAware {
	private String name ;
	public void setBeanName(String arg0) {
		System.out.println(arg0) ;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}

   }
   2.ApplicationContextAware:在Bean类被初始化之后,将会被注入ApplicationContext实例。
   代码如下:
    import org.springframework.beans.BeansException;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;

    public class HelloBean implements ApplicationContextAware {
	private String name ;
	public void setApplicationContext(ApplicationContext arg0)
			throws BeansException {
		HelloBean hb = (HelloBean)arg0.getBean("hello") ;
		System.out.println("内部打印 --> "+hb.getName()) ;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}

}
四.消息支持:
   ApplicationContext 继承了MessageSource接口,用户可以直接使用
   配置文件代码如下:
    <bean id="messageSource"                                   class="org.springframework.context.support.ResourceBundleMessageSource">
		<property name="basename">
			<value>messages</value>
		</property>
    </bean> 
五.事件监听?
我的分析:事件的触发由TestEvent类进行触发 事件类 DefaultEvent  只要告诉                    Spring配制一个自己写的监听器就OK了,监听器就收集某个类触发了某个事件类的信息。

详细代码如下:
   自己写个事件来验证Spring示例如下:
   监听类:DefaultListener  
    import org.springframework.context.ApplicationEvent;
    import org.springframework.context.ApplicationListener;
    public class DefaultListener implements ApplicationListener {

	public void onApplicationEvent(ApplicationEvent arg0) {
		System.out.println(arg0.getSource());
	}

    }
   事件类:DefaultEvent 
    import org.springframework.context.ApplicationEvent;
    public class DefaultEvent extends ApplicationEvent {
	  public DefaultEvent(Object source) {
		super(source);
	}
    }
   触发事件类:TestEvent                   
   import org.springframework.context.ApplicationContext;
   import org.springframework.context.support.ClassPathXmlApplicationContext;
     public class TestEvent {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ApplicationContext ctx = null ;
		ctx = new ClassPathXmlApplicationContext("applicationContext.xml") ;
		ctx.publishEvent(new DefaultEvent(TestEvent.class)) ;
	}

      }
   配置文件代码:
     <beans>
	<bean id="lst" class="DefaultListener"></bean>
     </beans>
       

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -