美文网首页
Spring-2bean之间的关系,作用域,外部属性文件

Spring-2bean之间的关系,作用域,外部属性文件

作者: RyanHugo | 来源:发表于2020-03-12 16:25 被阅读0次

1.bean的继承关系

<!-- 抽象bean 这样的bean的abstarct为true ,无法由ioc实例化,只能继承
        若一个bean无class属性,肯定是抽象bean
        
        depend-on则初始化时必须关联一个bean,否则报错
     -->
<!-- bean的配置的继承,parent指向被继承的bean,userf继承user -->
    <bean id = "user" p:name = "haha" abstract="true"> </bean>
    <bean id = "userf" class="beanrelation.User" parent="user" depends-on="person"></bean>

    <!-- 构造器注入 -->
    <bean id = "person" class = "test.Person">
        <constructor-arg value="tom" name="name"></constructor-arg>
        <constructor-arg value="12"></constructor-arg>
        
    </bean>

2.bean的作用域

    <!-- bean的作用域:Spring 只为每个在 IOC 容器里声明的 Bean 创建唯一一个实例, 
        整个 IOC 容器范围内都能共享该实例:所有后续的 getBean() 调用和 Bean 引用
        都将返回这个唯一的 Bean 实例.
        该作用域被称为 singleton, 它是所有 Bean 的默认作用域 
        prototype每次调用getBean都会返回一个新的实例
        
        补充:singleton会在创建ioc容器时创建单例bean
        prototype在ioc容器初始化时不创建bean,每次请求返回一个新的bean
        即:new ClassPathXmlApplicationContext()是否会创建bean
        -->
    <bean id = "userpro" class= "beanrelation.User" scope="prototype"></bean>
bean的作用域

3.bean的外部属性文件(db.properties)

spring的xml配置

<!-- 引用外部文件 -->
    <context:property-placeholder location="classpath:db.properties"/>
    <bean id = "dataSource" class = "com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="user" value="${user}"></property>
        <property name="password" value="${password}"></property>
        <property name="driverClass" value="${driverClass}"></property>
        <property name="jdbcUrl" value="${jdbcUrl}"></property>
    </bean>

外部db.properties

user=root
password=12345
driverClass=com.mysql.jdbc.Driver
jdbcUrl=jdbc:///test

代码使用

DataSource dataSource = (DataSource) c.getBean("dataSource");
        dataSource.getConnection();

相关文章

  • Spring-2bean之间的关系,作用域,外部属性文件

    1.bean的继承关系 2.bean的作用域 3.bean的外部属性文件(db.properties) sprin...

  • 存储类别和内存管理

    概念 作用域:块作用域,函数作用域,文件作用域 链接: 外部链接:多文件中使用内部链接:只在一个翻译单元(文件)内...

  • C - 链接属性

    C 变量有 3 种链接属性: 外部链接, 内部链接或无链接. 具有块作用域, 函数作用域或函数原型作用域的变量都是...

  • 闭包

    js的作用域分为全局作用域,和函数作用域, 内部作用域可以访问外部作用域的函数参数,外部不能访问内部函数的变量和参...

  • 前端模块化与打包工具

    模块化发展史: 早期通过外部引入文件方式,实现模块化。缺点:污染全局作用域,无法管理模块依赖关系。 命名空间,文件...

  • extern 和static在OC中的使用

    extern的作用是使用外部文件创建的属性 若一个文件的某个属性允许外部文件访问,则必须将相关属性定义在.m的@i...

  • JavaSctipt高级程序 前5章左右

    第二章:小结 在使用JavaScript外部脚步时,src属性可以链接到外部文件,也可以链接到外部域的文件。 元素...

  • C语言基础掌握之day5

    内存管理 作用域 一个C语言变量的作用域可以是代码块作用域,函数作用域或者文件作用域。代码块是{}之间的一段代码。...

  • 闭包函数和装饰器python

    1.什么是闭包 闭包是函数的内部函数,对外部作用域而非全局作用域的引用。可以打破层级关系,把外部的变量封装到内部函...

  • 作用域、二义性和extern

    一个C语言变量的作用域可以是代码块 作用域,函数作用域或者文件作用域。代码块是{}之间的一段代码。 总结

网友评论

      本文标题:Spring-2bean之间的关系,作用域,外部属性文件

      本文链接:https://www.haomeiwen.com/subject/hgapjhtx.html