spring 入门

spring 体系结构

spring_framework

ioc 入门

  • 加入 Spring 的依赖
  • 创建 Spring 所需要的配置文件
  • 在配置文件中配置 Spring 所管理的资源 (bean)
  • 通过ClassPathXmlApplicationContext 获取 Spring 容器,进而从容器中获取对应的 bean

set 注入

<!-- 
	使用 set 方法的形式为 bean 提供资源
	value:设定非引用类型属性对应的值,不能与ref同时使用
	ref:  设定引用类型属性对应bean的id ,不能与value同时使用
-->

<bean id="userService4" class="com.asaawan.service.impl.UserServiceImpl">
  <property name="userMapper" ref="userMapper2"/>
  <property name="userMapper" value="#{userMapper2}"/>
  <property name="number" value="45678"/>
  <property name="number" value="#{'45678'}"/>
  <property name="list">
     <list>
        <value>asaawan</value>
        <value>66666</value>
     </list>
  </property>
</bean>

spring 整合 mybatis

spring 依赖导入

<dependencies>
    <!--spring的核心依赖包-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.1.9.RELEASE</version>
    </dependency>

    <!--spring和mybatis进行整合的需要的依赖包-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>5.1.9.RELEASE</version>
    </dependency>

    <!-- spring和junit整合的依赖 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>5.1.9.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>

    <!-- mysql驱动 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.47</version>
    </dependency>

    <!-- mybatis依赖包 -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.3</version>
    </dependency>

    <!-- 数据库连接池 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.16</version>
    </dependency>

    <!-- mybatis和spring整合的依赖包 -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>1.3.0</version>
    </dependency>

    <!--aop联盟的依赖包-->
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.9.4</version>
    </dependency>
</dependencies>

jdbc.properties 配置

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring_db?useSSL=false&useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=root

applicationContext.xml 配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd">

    <!--引入 jdbc 配置文件-->
    <context:property-placeholder location="classpath:*.properties"/>

    <!--配置 druid 数据源-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>

    <!--配置 SqlSessionFactoryBean 获取 SqlSession 对象-->
    <bean class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" value="#{dataSource}"/>
        <property name="typeAliasesPackage" value="com.asaawan.domain"/>
    </bean>

    <!--配置 MapperScannerConfigurer 扫描指定包下的接口-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.asaawan.mapper"/>
    </bean>

    <!-- 将 service 实现类加入 spring ioc 容器-->
    <bean id="accountService" class="com.asaawan.service.impl.AccountServiceImpl">
        <!-- accountMapper 注入-->
        <property name="accountMapper" value="#{accountMapper}"/>
    </bean>
    
    <!-- import 导入配置文件 -->
    <!-- <import resource="config.xml"/> -->
</beans>

业务发起

public class App {
    public static void main(String[] args) {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        AccountService accountService = (AccountService) ctx.getBean("accountService");
        List<Account> all = accountService.findAll();
        System.out.println(all);
    }
}
posted @ 2021-06-17 20:19  山奈  阅读(50)  评论(0)    收藏  举报