基于XML Spring的应用

Spring Bean的主要配置 

BeanName

Bean Id在bean容器中是BeanName 获取bean也是通过BeanName 也可以通过设置name别名来获取Bean对象(在Application内部以map形式存在)没有配置ID与Name 默认为class名称, 没有配置Id有Name则为Name名称

 Bean的范围配置(scope)

默认是单例模式, 大家公共一个Bean对象,原型模式谁用谁去创建

Bean的延迟加载(Lazy-init)

 Bean的初始化方法和销毁方法(init - method 和 destory - method)

init 在创建完成后就去调用改设置的方法, destory 在销毁时去调用该设置的方法

手动关闭才能执行到销毁方法

在构造函数之后再init之前执行 

实例化Bean

默认创建Bean的实例执行的是无参构造函数

创建执行有参构造函数加上这个配置 name参数名称, value 参数值

多个参数加多个以上配置 一个配置写一个变量名称以及值

传的是bean value改成 ref

静态工厂创建Bean实例

先写一个类  类中写想创建bean对象的静态方法

配置xml文件配置该类, 用factory-bean配置静态方法名称, 用getBean获取时则是获取到静态方法中的bean对象

 优点:可以在静态方法中加入创建前的其他逻辑代码操作。

实例工厂方法创建bean对象

先写一个类  类中写想创建bean对象的方法(同上代码去掉static)

配置xml文件 在get获取时同时会把工厂对象创建出来

 有参数的静态与非静态工厂方法

同样在配置中加上 constructor-arg 的Name 以及 value

实现FactoryBean接口 规范延迟Bean的实例创建

public class MyBeanFactory1 implements FactoryBean<UserDao> {


    @Override
    public UserDao getObject() throws Exception {
        return new UserDaoImpl();
    }

    @Override
    public Class<?> getObjectType() {
        return UserDao.class;
    }
}

正常配置xml即可   (加载配置文件是只是创建了MyBeanFactory的实例  getBean时才获取到类中的Bean对象)

bean依赖注入配置

注入List

对象List用ref引入

  也可以是对象 key-ref  value-ref

 properties类型

 自动装配

自动装配有两种方法 一种ByName 一种ByType

byName

被注入id要与类中函数名一致

byType

byType下被注入的bean只能有唯一的配置, 不能配置多个, 函数名可与id不一致

命名标签

默认标签

beans标签

在beans标签中还能嵌套多个beans环境

默认加载的是主beans中的配置, 要使用其他beans的配置可以指定配置环境  test写beans的名称

import标签

通过import去引入其他配置文件中的配置

一般是把模块的配置文件全部引入到主配置文件中  classpath: 后面写引入配置文件的名称

引入第三方命名空间

找到该命名空间的下的以上一套链接, xsi为自定义名称

 第二种方法要求bean的配置文件唯一

配置非自定义类的第三方类交给spring管理

1.在maven中导入地址 

2.知道要用的类名, 复制出该类的地址

3.在bean中配置该类

例:

 

bean的实例化基本流程

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值