欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spring笔记5

程序员文章站 2022-07-13 10:39:28
...

1、IOC 操作 Bean 管理(xml 自动装配)

自动装配:根据指定装配规则(属性名称或者属性类型),Spring 自动将匹配的属性值进行注入。

  1. 创建 Dept 类和 Emp 类
package com.su.spring5.autowire;

public class Dept {
    @Override
    public String toString() {
        return "Dept{}";
    }
}
package com.su.spring5.autowire;

public class Emp {
    private Dept dept;

    public void setDept(Dept dept) {
        this.dept = dept;
    }

    @Override
    public String toString() {
        return "Emp{" +
                "dept=" + dept +
                '}';
    }

    public void test() {
        System.out.println(dept);
    }
}
  1. 编写配置文件
    实现自动装配使用bean标签属性autowire,配置自动装配
    autowire属性常用两个值:
    • byName根据属性名称注入 ,注入值bean的id值类属性名称一样
    • byType根据属性类型注入
<!-- autowire="byName" -->
<bean id="emp" class="com.su.spring5.autowire.Emp" autowire="byName"></bean>
<bean id="dept" class="com.su.spring5.autowire.Dept"></bean>
<!-- autowire="byType" -->
<bean id="myEmp" class="com.su.spring5.autowire.Emp" autowire="byType"></bean>
<bean id="mydept" class="com.su.spring5.autowire.Dept"></bean>
  1. 测试
@Test
public void testbyName() {
    ApplicationContext context =
            new ClassPathXmlApplicationContext("bean1.xml");
    Emp emp = context.getBean("emp", Emp.class);
    System.out.println(emp);
}

spring笔记5

@Test
public void testbyType() {
    ApplicationContext context =
            new ClassPathXmlApplicationContext("bean1.xml");
    Emp myEmp = context.getBean("myEmp", Emp.class);
    System.out.println(myEmp);
}

spring笔记5

2、IOC 操作 Bean 管理(外部属性文件)

方式一:直接配置数据库信息

(1)配置德鲁伊连接池
(2)引入德鲁伊连接池依赖 jar 包
(3)编写 bean

<!--直接配置连接池-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
   <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
   <property name="url" value="jdbc:mysql://localhost:3306/userDb"></property>
   <property name="username" value="root"></property>
   <property name="password" value="root"></property>
</bean>

方式二:引入外部属性文件配置数据库连接池

(1)编写外部文件 jdbc.properties

prop.driverClass=com.mysql.jdbc.Driver
prop.url=jdbc:mysql://localhost:3306/userDb
prop.userName=root
prop.password=root

(2)引入外部文件,编写bean

  • 引入 context 名称空间
xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"
  • 在 spring 配置文件使用标签引入外部属性文件
<!--引入外部属性文件-->
<context:property-placeholder location="classpath:jdbc.properties"/>

<!--配置连接池-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    <property name="driverClassName" value="${prop.driverClass}"></property>
    <property name="url" value="${prop.url}"></property>
    <property name="username" value="${prop.userName}"></property>
    <property name="password" value="${prop.password}"></property>
</bean>
相关标签: spring5 spring