spring简单配置

4.spring配置

4.1 别名
  • 原来的名字可能为了规范会比较长,别名就可以简写
  • 别名可以隐藏你Bean对象真实名,用户只需要输入别名即可。
<!--添加了别名可以用别名获取到-->
<alias name="hello" alias="helloXX"/>
4.2 Spring Bean配置
  • Spring IoC 容器管理的对象称为 Bean,Bean 根据 Spring 配置文件中的信息创建。

  • Spring 配置文件支持两种格式,即 XML 文件格式和 Properties 文件格式。

Properties 配置文件主要以 key-value 键值对的形式存在,只能赋值,不能进行其他操作,适用于简单的属性配置。

XML 配置文件采用树形结构,结构清晰,相较于 Properties 文件更加灵活。但是 XML 配置比较繁琐,适用于大型的复杂的项目。

  • 在 XML 配置的 元素中可以包含多个属性或子元素,常用的属性或子元素如下表所示。
属性名称描述
idBean 的唯一标识符(也就是对象名),Spring IoC 容器对 Bean 的配置和管理都通过该属性完成。id 的值必须以字母开始,可以使用字母、数字、下划线等符号。
name该属性表示 Bean 的名称,我们可以通过 name 属性为同一个 Bean 同时指定多个名称,每个名称之间用逗号或分号(空格、)隔开。Spring 容器可以通过 name 属性配置和管理容器中的 Bean。相比于alias只能指定一个别名,这个更高级实用。
class该属性指定了 Bean 的具体实现类,它必须是一个完整的类名,即类的全限定名。–包名+类名
scope表示 Bean 的作用域,属性值可以为 singleton(单例)、prototype(原型)每次实例的时候新建一个、request、session 和 global Session。默认值是 singleton。
constructor-arg 元素的子元素,我们可以通过该元素,将构造参数传入,以实现 Bean 的实例化。该元素的 index 属性指定构造参数的序号(从 0 开始),type 属性指定构造参数的类型。
property元素的子元素,用于调用 Bean 实例中的 setter 方法对属性进行赋值,从而完成属性的注入。该元素的 name 属性用于指定 Bean 实例中相应的属性名。
ref 和 等元素的子元索,用于指定对某个 Bean 实例的引用,即 元素中的 id 或 name 属性。
value 和 等元素的子元素,用于直接指定一个常量值。
list用于封装 List 或数组类型的属性注入。
set用于封装 Set 类型的属性注入。
map用于封装 Map 类型的属性注入。
entry 元素的子元素,用于设置一个键值对。其 key 属性指定字符串类型的键值,ref 或 value 子元素指定其值。
init-method容器加载 Bean 时调用该方法,类似于 Servlet 中的 init() 方法
destroy-method容器删除 Bean 时调用该方法,类似于 Servlet 中的 destroy() 方法。该方法只在 scope=singleton 时有效
lazy-init懒加载,值为 true,容器在首次请求时才会创建 Bean 实例;值为 false,容器在启动时创建 Bean 实例。该方法只在 scope=singleton 时有效
4.3 Import导入配置文件
  • Import用于团队开发,可以将多个配置文件,导入合并为一个

  • 项目中多个人开发,三人复制不同的类开发,不同的类需要注册到不同的bean中,可以利用import将所有人的beans.xml合并为一个总的。使用的时候直接使用总配置。

<import resource="beans1.xml"/>
<import resource="beans.xml"/>
<bean id="hello" class="com.zk.pojo.Hello" scope="prototype">
    <constructor-arg type="java.lang.String" value="名字"/>
    <constructor-arg type="java.lang.String" value="密码"/>
</bean>
  • 测试
@Test
public void TestDemo03(){
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
    Hello hello = applicationContext.getBean("hello", Hello.class);
    System.out.println(hello.getMessage()+"//"+hello.getCall());
}
  • 结果
com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 TestSpring,TestDemo03
名字//密码

Process finished with exit code 0
  • 这个导入实际上是带路径的,同名文件路径一点不同
  • 如果重名会按照引入的顺序,后一个覆盖前一个
本专栏下一篇:spring依赖注入
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值