频道栏目
首页 > 资讯 > 其他 > 正文

Spring-IOC控制反转+依赖注入方式

17-11-11        来源:[db:作者]  
收藏   我要投稿

1.setter方式注入(依赖于无参构造器)
A。基本类型

public class HelloBean {
private String name;
private int age;
public String sayHello(){
return "hello "+name +",your age is" + age;
}
.............
}
配置文件applicationContext.xml


terry



其中的property用来指定属性名,通过get/set方法去掉get/set首字母小写设置。value为值,基本数据类型自动转换

B。引用类型

 

string1







使用ref标签来直接引用已配置的bean的name。

C。集合



 
    list1
    list1
    list3
 


 
    set1
    set1
    set3
 

    
    
          value1
    
   
          value2
    

  
     
  prop1
  prop2
  prop3
  

2.构造器注入(必须有对应的构造器)
类型注入



  String1



参数索引注入


 
  String1



3.自动注入,会自动按照规则装配,例如type或者name或者构造器。

4.继承注入–适合生成不同属性值的同一bean
首先要求父类的bean的Abstract属性为true(默认为false),注意,如设置abstract为true,无法获取其bean,与抽象类类似



然后子bean如下配置








5.通过静态工厂
通过类中的静态方法直接得到想要的bean,方法需要静态,并返回所需类对象

//静态工厂
      ﹤bean id="sayhello2" class="test.service.impl.HelloBeanFactory" factory-method="createHelloBean"/﹥  ```

6.实例工厂
与普通类类似,当会获得一个对象的工厂类的对象,然后由工厂对象生成所需对象

7.bean实现FactoryBean接口实现三个方法

@Override
public Double getObject() throws Exception {
return 12.0;
}

@Override
public Class getObjectType() {
    return null;
}

@Override
public boolean isSingleton() {
    return false;
}
其中getObject方法返回所需bean对象,getObjectType返回对象类型,isSingleton返回是否为单例
配置:

“`

8.注意:所以的bean默认都是单例的,如需要非单例如下

  

scope用来声明IOC容器中的对象应该处的限定场景或者说该对象的存活空间。默认为singleton。起初只有singleton和prototype两种,singleton为单例,而prototype每次请求对象都会生成一个新的对象返回。
又引入了另外三种scope类型,即request,session和global session类型
request和session与WEB中类似,并只能在WEB工程中使用。

相关TAG标签
上一篇:c++赋值兼容规则介绍
下一篇:php通过循环和递归实现无限级分类
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站