美文网首页
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之间的关系,作用域,外部属性文件

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