当前位置: 移动技术网 > IT编程>开发语言>Java > spring使用乱记

spring使用乱记

2018年10月15日  | 移动技术网IT编程  | 我要评论

装配方式

1.xml方式的自动装配
设置:<bean />元素的:autowire属性
<bean id="somebean" class="somebean全限定名"  autowire="bytype"/>
 
autowire属性:让spring按照一定的方式自己去找合适的对象,并完成di
  - default:不要自动注入
  - no:不要自动注入
  - byname:按照名字注入(按照属性的名字在spring中找bean) factory.getbean("属性的名字")
  - bytype:按照依赖对象的类型注入(factory.getbean(属性的类型))
  - constructor:按照对象的构造器上面的参数类型注入
 
注意:
  1,如果按照byname自动注入,要求所有的属性名字和id的名字必须保证一种规范的命名方式;
  2,如果按照bytype注入,如果spring中同一个类型有多个实例-->报bean不是唯一类型错误;
 
2.注解方式的自动装配
在spring中使用注解来完成di操作,我们称之为注解自动装配,存在两种用法.
   一:使用spring框架自身提供的标签:autowired
   二:使用javaee规范提供的标签:resource
 
3.xml方式的手动装配
通过什么方式来给bean注入:
   1):通过bean对象的setter方法,属性注入.   使用<property  name=”属性名称”  >   推荐.
   2):通过bean类的构造器来设置,构造注入.  使用<constructor-arg.../>
 
注入的类型有哪些:
   1):简单数据类型.    使用value.
   2):复合数据类型.    使用ref.
   3):集合数据类型.    使用集合的元素.
 
 
 

bean  实例化的三种方式实现

第一种:使用类的无参数构造创建

<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.xsd">
 
	<!-- 关键部分 -->
	<bean id="bean1" class="com.spring.demo.bean1"></bean>
 
</beans>

 第二种:使用静态工厂创建  

package com.spring.demo;
 
public class bean2factory {
	public static bean2 getbean2(){
		return new bean2();
	}
}

  

<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.xsd">
 
	<!-- 关键部分 -->
	<bean id="bean2" class="com.spring.demo.bean2factory" factory-method="getbean2"></bean>
	
 
</beans>

第三种:使用实例工厂创建

package com.spring.demo;
 
public class bean3factory {
	public bean3 getbean3(){
		return new bean3();
	}
}

  

<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.xsd">
 
	<!-- 关键部分 -->
	<bean id="bean3factory" class="com.spring.demo.bean3factory"></bean>
	<bean id="bean3" factory-bean="bean3factory" factory-method="getbean3"></bean>
	
 
</beans>

  

 

ioc的三种实现方式

1.接口注入

public class classa {  
  private interfaceb clzb;  
  public void dosomething() {  
    ojbect obj = class.forname(config.bimplementation).newinstance();  
    clzb = (interfaceb)obj;  
    clzb.doit();   
  }  
……  
} 

2.setter方法注入

3.构造器注入

 

bean的作用域

bean的作用域:指的是一个bean对象可以存活多久,通过bean元素的scope属性来指定.

 

 

 

 

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网