spring简单配置

在人生的道路上,不管是潇洒走一回,或者是千山独行,皆须是自己想走的路,虽然,有的人并不是很快就能找到自己的方向和道路,不过,只要坚持到底,我相信,就一定可以找到自己的路,只要找到路,就不必怕路途遥远了。

导读:本篇文章讲解 spring简单配置,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

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 配置的 元素中可以包含多个属性或子元素,常用的属性或子元素如下表所示。
属性名称 描述
id Bean 的唯一标识符(也就是对象名),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依赖注入

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123912.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!