3、Spring_容器执行

容器执行点

1.整合 druid 连接池

  • 添加依赖

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.2.8</version>
    </dependency>
    

1.硬编码方式整合

  • 新建德鲁伊配置

    
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
        <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
            <property name="username" value="root">property>
            <property name="password" value="123456">property>
            <property name="driverClassName" value="com.mysql.cj.jdbc.Driver">property>
            <property name="url" value="jdbc:mysql://localhost:3306/mybatis">property>
        bean>
    beans>
    
  • 注意

    • 属性是通过 set 方法注入进来的

2.使用占位符获取连接数据

  • 简历 db.properties 配置文件

    username=root
    password=123456
    driverClassName=com.mysql.cj.jdbc.Driver
    url=jdbc:mysql://localhost:3306/mybatis
    
    
  • 配置引用db.properties

     <bean id="dataSource1" class="com.alibaba.druid.pool.DruidDataSource">
            <property name="username" value="${username}">property>
            <property name="password" value="${password}">property>
            <property name="driverClassName" value="${driverClassName}">property>
            <property name="url" value="${url}">property>
        bean>
    
        <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="location" value="db.properties">property>
        bean>
    
  • 引入 db.properties 缩写

    <context:property-placeholder location="db.properties"/>
    

3.注意事项

  • 使用这个标签加载配置会加载到电脑系统配置

  • 解决方式

    • 给配置文件加上前缀变量

      jdbc.username=root
      jdbc.password=123456
      jdbc.driverClassName=com.mysql.cj.jdbc.Driver
      jdbc.url=jdbc:mysql://localhost:3306/mybatis
      username=123
      
    • 添加属性

      <context:property-placeholder system-properties-mode="NEVER" location="db.properties"/>
      
  • 加载多个配置文件可以用 * 代替

    <context:property-placeholder system-properties-mode="NEVER" location="*.properties"/>
    

2.容器总结

1.容器层级结构

  • 按两次 shift 搜索 BeanFactory

    3、Spring_容器执行_第1张图片

  • 按 ctrl + h 查看继承结构

    3、Spring_容器执行_第2张图片

2.创建容器

  • BeanFactory 是容器顶层接口

  • ApplicationContext 核心接口

  • AbstractApplicationContext 抽象类,提供了获取 bean 以及加载资源的功能

  • ClassPathXmlApplicationContext 装载bean的,做初始化的

3.bean 配置

<bean id="user" class="cn.sycoder.lifecycle.User" init-method="init" destroy-method="destroy" scope="默认单例" autowire="byName" lazy-init="false">
        <property name="name" value="sy">property>
    bean>
  • lazy-init:如果开启懒加载,默认是调用时才创建bean
  • init-method:初始化方法
  • destroy-method:销毁方法
  • scope:作用域,单例,原型
  • autowire:自动注入
  • id:代表名称,必须唯一
  • class:全限定类名

4.di 注入

  • constructor-arg:构造器注入
  • property : setter 注入
  • 集合注入

5.注意

  • 下去的时候,一定要去多练,把 bean 配置, di 注入,以及配置第三方bean 和引入配置文件全部掌握,都是重点

你可能感兴趣的:(spring,java,后端)