Spring常见配置及依赖文件

Spring中几个配置及依赖文件

【src/main/resources/jdbc.properties】
//spring配置文件引入的数据库配置参数
jdbc.driverClass=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3308/lulaoshi?useSSL=false&serverTimezone=UTC
jdbc.username=root
jdbc.password=12345678
jdbc.init=1
jdbc.minIdle=1
jdbc.maxActive=3

【src/main/resources/applicationContext.xml】
//Spring核心配置文件 
//核心配置文件

<?xml version="1.0" encoding="utf-8" ?>

<beans xmlns="Index of /schema/beans"
xmlns:aop="Index of /schema/aop"
xmlns:tx="Index of /schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="Index of /schema/context"
xsi:schemaLocation="Index of /schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
Index of /schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
Index of /schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
Index of /schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!--JDBC链接-->
<context:property-placeholder location="classpath:jdbc.properties"/>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!--基本配置-->
<property name="driverClassName" value="${jdbc.driverClass}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<!-- 配置初始化大小,最小,最大-->
<property name="initialSize" value="${jdbc.init}"/>
<property name="minIdle" value="${jdbc.minIdle}"/>
<property name="maxActive" value="${jdbc.maxActive}"/>

<!-- 配置获取链接等待超时的时间-->
<property name="maxWait" value="60000"/>

<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲链接,单位是毫秒-->
<property name="timeBetweenEvictionRunsMillis" value="60000"/>

<!-- 配置一个丽娜姐在池中最小生存的时间,单位是毫秒-->
<property name="minEvictableIdleTimeMillis" value="300000"/>
</bean>

<!-- 工厂Bean 生产:sqlSessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 注入链接池-->
<property name="dataSource" ref="dataSource"></property>
<!-- 注入dao-mapper文件信息,如果映射文件和dao接口 同包且同名 则此配置可省略-->
<property name="mapperLocations">
<list>
<value>classpath:com/qf/dao/*.xml</value>
</list>
</property>
<property name="typeAliasesPackage" value="com.qf.entity"></property>
</bean>

<!--
自动扫描 将Mapper接口生成代理注入到Spring
MapperScannerConfigurer 是为了解决 MapperFactoryBean 繁琐而生的,不需要我们去为每个映射接口去声明一个bean了。提高了开发的效率。
mapperScannerConfigurer userDAO
-->
<bean id="mapperScannerConfigurer9" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.qf.dao"></property>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
</bean>

<!-- 引入一个事务管理器,其中依赖DataSource, 借以获得链接,进而控制事务逻辑-->
<bean id="tx" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>

<!-- 告知spring注解的位置-->
<context:component-scan base-package="com.qf"></context:component-scan>

<!-- @Transactional-->
<tx:annotation-driven transaction-manager="tx"/>

<!-- 添加如下配置,启用Aop注解-->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
</beans>

【D:\javaSpringStart\pom.xml】
//Spring的初始依赖文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>org.example</groupId>
<artifactId>spring_demo</artifactId>
<version>1.0-SNAPSHOT</version>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.9</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
<!-- " target="_blank">https://blog.csdn.net/weixin_43967679/article/details/105670789-->;


【pom.xml】
//SpringMVC依赖文件

<dependencies>

        <!-- servlet3.1规范的坐标 -->

        <dependency>

            <groupId>javax.servlet</groupId>

            <artifactId>javax.servlet-api</artifactId>

            <version>3.1.0</version>

            <scope>provided</scope>

        </dependency>

        <!--jsp坐标-->

        <dependency>

            <groupId>javax.servlet.jsp</groupId>

            <artifactId>jsp-api</artifactId>

            <version>2.1</version>

            <scope>provided</scope>

        </dependency>

        <!--spring的坐标-->

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-context</artifactId>

            <version>5.1.9.RELEASE</version>

        </dependency>

        <!--spring web的坐标-->

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-web</artifactId>

            <version>5.1.9.RELEASE</version>

        </dependency>

        <!--springmvc的坐标-->

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-webmvc</artifactId>

            <version>5.1.9.RELEASE</version>

        </dependency>

    </dependencies>

【非常完整的pom.xml依赖文件】
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>org.example</groupId>
<artifactId>toAspectCodeExcel</artifactId>
<version>1.0-SNAPSHOT</version>

<dependencies>
<!-- spring框架-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.6.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>8.0.16</version>
</dependency>
<!-- aop之切面编程-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>5.1.6.RELEASE</version>
</dependency>

<!--mybatis依赖包-->

<!-- spring-jdbc依赖导入-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<!--mybatis-->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
<!--链接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.23</version>
</dependency>

<!-- 集成junit-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
</dependencies>

<build>
<!-- 更改maven的编译规则-->
<resources>
<resource>
<!-- 资源目录-->
<directory>src/main/java</directory>
<includes>
<include>*.xml</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>

<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>

</project>

【pom.xml】

 <properties>

     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

     <maven.compiler.source>11</maven.compiler.source>

     <maven.compiler.target>11</maven.compiler.target>

     //我准备用同一个版本号,所以我定一个一个spring版本号,下面直接引用这个版本号

     <spring.version>5.3.15</spring.version>

   </properties>

<dependencies>

 <!--日志-->

    <dependency>

      <groupId>commons-logging</groupId>

      <artifactId>commons-logging</artifactId>

      <version>1.2</version>

    </dependency>

    <!-- java ee -->

    <dependency>

      <groupId>javax</groupId>

      <artifactId>javaee-api</artifactId>

      <version>7.0</version>

    </dependency>

    <!-- 单元测试 -->

    <dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>4.12</version>

    </dependency>

<!--     实现slf4j接口并整合 -->

    <dependency>

      <groupId>ch.qos.logback</groupId>

      <artifactId>logback-classic</artifactId>

      <version>1.2.2</version>

    </dependency>

<!--     JSON -->

    <dependency>

      <groupId>com.fasterxml.jackson.core</groupId>

      <artifactId>jackson-databind</artifactId>

      <version>2.8.7</version>

    </dependency>

<!--     数据库 -->

    <dependency>

      <groupId>mysql</groupId>

      <artifactId>mysql-connector-java</artifactId>

      <version>8.0.11</version>

      <scope>runtime</scope>

    </dependency>

<!--     数据库连接池 -->

    <dependency>

      <groupId>com.mchange</groupId>

      <artifactId>c3p0</artifactId>

      <version>0.9.5.2</version>

    </dependency>

    <!-- Spring -->

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-core</artifactId>

      <version>${spring.version}</version>

    </dependency>

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-beans</artifactId>

      <version>${spring.version}</version>

    </dependency>

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-context</artifactId>

      <version>${spring.version}</version>

    </dependency>

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-jdbc</artifactId>

      <version>${spring.version}</version>

    </dependency>

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-tx</artifactId>

      <version>${spring.version}</version>

    </dependency>

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-web</artifactId>

      <version>${spring.version}</version>

    </dependency>

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-webmvc</artifactId>

      <version>${spring.version}</version>

    </dependency>

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-test</artifactId>

      <version>${spring.version}</version>

    </dependency>

    <!--  JSON解析  -->

    <dependency>

      <groupId>com.alibaba</groupId>

      <artifactId>fastjson</artifactId>

      <version>1.2.79</version>

    </dependency>

    <!--  JSTL标签库  -->

    <dependency>

      <groupId>taglibs</groupId>

      <artifactId>standard</artifactId>

      <version>1.1.2</version>

    </dependency>

    <!--  数据效验  -->

    <dependency>

      <groupId>org.hibernate</groupId>

      <artifactId>hibernate-validator</artifactId>

      <version>5.1.3.Final</version>

    </dependency>

    <dependency>

      <groupId>org.jboss.logging</groupId>

      <artifactId>jboss-logging</artifactId>

      <version>3.1.0.CR2</version>

    </dependency>

    <dependency>

      <groupId>javax.validation</groupId>

      <artifactId>validation-api</artifactId>

      <version>1.1.0.Final</version>

    </dependency>

    <!--  文件上传组件  -->

    <dependency>

      <groupId>commons-io</groupId>

      <artifactId>commons-io</artifactId>

      <version>2.4</version>

    </dependency>

    <dependency>

      <groupId>commons-fileupload</groupId>

      <artifactId>commons-fileupload</artifactId>

      <version>1.3.1</version>

    </dependency>

  </dependencies>



【spring通过配置类配置JDBC】
 

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.jdbc.datasource.DataSourceTransactionManager;

import org.springframework.jdbc.datasource.DriverManagerDataSource;

import javax.sql.DataSource;

@Configuration

public class DatabaseConfig {

    @Bean

    public DataSource dataSource() {

        DriverManagerDataSource dataSource = new DriverManagerDataSource();

        dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");

        dataSource.setUrl("jdbc:mysql://localhost:3306/mydb");

        dataSource.setUsername("username");

        dataSource.setPassword("password");

        return dataSource;

    }

    @Bean

    public JdbcTemplate jdbcTemplate(DataSource dataSource) {

        return new JdbcTemplate(dataSource);

    }

    @Bean

    public DataSourceTransactionManager transactionManager(DataSource dataSource) {

        return new DataSourceTransactionManager(dataSource);

    }

}



【Spring通过配置类配置Mybatis】

import org.apache.ibatis.session.SqlSessionFactory;

import org.mybatis.spring.SqlSessionFactoryBean;

import org.mybatis.spring.annotation.MapperScan;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.core.io.support.PathMatchingResourcePatternResolver;

import javax.sql.DataSource;

@Configuration

@MapperScan(basePackages = "com.example.mapper") // 指定Mapper接口所在的包

public class MyBatisConfig {

    private final DataSource dataSource;

    public MyBatisConfig(DataSource dataSource) {

        this.dataSource = dataSource;

    }

    @Bean

    public SqlSessionFactory sqlSessionFactory() throws Exception {

        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();

        sqlSessionFactoryBean.setDataSource(dataSource);

        sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml"));

        return sqlSessionFactoryBean.getObject();

    }

    // 配置事务管理器的代码省略,通常会结合Spring的事务管理使用

}

//说明

在这个配置类中,@MapperScan注解用于指定包含MyBatis Mapper接口的包路径。sqlSessionFactory()方法创建了一个SqlSessionFactoryBean实例,并设置了数据源和MyBatis的Mapper XML文件位置。

确保你的项目中有相应的数据库配置,如数据库驱动、URL、用户名和密码,并且有一个合适的方式来注入DataSource到配置类中。

注意:这个示例假设你已经有了一个DataSource Bean在Spring上下文中。如果没有,你需要定义一个。同时,这个示例没有包含事务管理器的配置,这通常是通过@EnableTransactionManagement注解和相关的事务管理器Bean来实现的。

【资料】

spring-context提供应用程序上下文,这是Spring的依赖注入容器,

它可能总是在以某种方式使用Spring Framework的工件的POM中定义.

实际上,spring-context依赖于spring-core,因此通过将spring-context定义为依赖项,


Java:Spring6整合MyBatis_java控制台程序集成mybatis-CSDN博客(可以测试的简单案例)

Java:Spring6整合MyBatis_java控制台程序集成mybatis-CSDN博客

(Java:Spring6整合MyBatis)

Java-Mybatis-Spring配置详解_mybatis spring 配置属性-CSDN博客

(Java-Mybatis-Spring配置详解)

https://blog.csdn.net/qq_20957669/article/details/88283089?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-88283089-blog-122270792.235^v43^pc_blog_bottom_relevance_base9&spm=1001.2101.3001.4242.2&utm_relevant_index=4

(Spring整合MyBatis)

java--spring---事务配置和Mybatis整合_java中正确配置事务管理器的方法-CSDN博客

(java--spring---事务配置和Mybatis整合)
 

https://zhuanlan.zhihu.com/p/70025081

https://zhuanlan.zhihu.com/p/499075895

(2篇知乎中Spring介绍的高质量的帖子)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值