Spring整合第三方应用
一、Spring整合druid数据源
1、pom.xml添加依赖
<properties><!--Spring版本控制--><spring.version>5.2.10.RELEASE</spring.version></properties><dependencies><!--spring核心依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><!--druid数据库连接池--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.13</version></dependency></dependencies>
2、添加一个配置类JdbcConfig
package com.liming.config;import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;import javax.sql.DataSource;public class JdbcConfig {@Value("com.mysql.jdbc.Driver")private String driver;@Value("jdbc:mysql://localhost:3306/ssm_db")private String url;@Value("root")private String username;@Value("123456")private String password;@Bean //@Bean注解的作用是将方法的返回值制作为Spring管理的一个bean对象public DataSource dataSource(){DruidDataSource ds = new DruidDataSource();ds.setDriverClassName(driver);ds.setUrl(url);ds.setUsername(username);ds.setPassword(password);return ds;}
}
3、添加一个配置类SpringConfig
package com.liming.config;import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;@Configuration
@Import({JdbcConfig.class})
public class SpringConfig {
}
4、从IOC容器中获取对象并打印
import com.liming.config.SpringConfig;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;import javax.sql.DataSource;public class SpringTest {@Testpublic void test(){ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);DataSource dataSource = ctx.getBean(DataSource.class);System.out.println(dataSource);}
}
二、Spring整合Mybatis
1、pom.xml添加依赖
<properties><!--Spring版本控制--><spring.version>5.2.10.RELEASE</spring.version></properties><dependencies><!--spring核心依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><!--Spring操作数据库需要该jar包--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><!--mysql驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.38</version></dependency><!--druid数据库连接池--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.13</version></dependency><!--mybatis--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.11</version></dependency><!--Spring与Mybatis整合的jar包这个jar包mybatis在前面,是Mybatis提供的--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.2</version></dependency></dependencies>
2、创建Spring的主配置类
package com.liming.config;import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;@Configuration
@ComponentScan("com.liming")
public class SpringConfig {
}
3、添加jdbc.properties文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm_db?useSSL=false
jdbc.username=root
jdbc.password=123456
4、创建数据源的配置类
package com.liming.config;import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.PropertySource;import javax.sql.DataSource;public class JdbcConfig {@Value("${jdbc.driver}")private String driver;@Value("${jdbc.url}")private String url;@Value("${jdbc.username}")private String username;@Value("${jdbc.password}")private String password;@Bean //@Bean注解的作用是将方法的返回值制作为Spring管理的一个bean对象public DataSource dataSource(){DruidDataSource ds = new DruidDataSource();ds.setDriverClassName(driver);ds.setUrl(url);ds.setUsername(username);ds.setPassword(password);return ds;}
}
5、主配置类中读properties并引入数据源配置类
package com.liming.config;import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.PropertySource;@Configuration
@ComponentScan("com.liming")
@PropertySource("classpath:jdbc.properties")
@Import(JdbcConfig.class)
public class SpringConfig {
}
6、创建Mybatis配置类并配置SqlSessionFactory
package com.liming.config;import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.mapper.MapperScannerConfigurer;
import org.springframework.context.annotation.Bean;import javax.sql.DataSource;public class MybatisConfig {//定义bean,SqlSessionFactoryBean,用于产生SqlSessionFactory对象@Beanpublic SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource){SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();//设置模型类的别名扫描ssfb.setTypeAliasesPackage("com.liming.pojo");//设置数据源ssfb.setDataSource(dataSource);return ssfb;}//定义bean,返回MapperScannerConfigurer对象@Beanpublic MapperScannerConfigurer mapperScannerConfigurer(){MapperScannerConfigurer msc = new MapperScannerConfigurer();msc.setBasePackage("com.liming.dao");return msc;}
}
7、主配置类中引入Mybatis配置类
package com.liming.config;import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.PropertySource;@Configuration
@ComponentScan("com.liming")
@PropertySource("classpath:jdbc.properties")
@Import({JdbcConfig.class,MybatisConfig.class})
public class SpringConfig {
}
7、编写测试代码
import com.liming.config.SpringConfig;
import org.junit.Test;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class SpringTest {@Testpublic void test(){ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);SqlSessionFactoryBean bean = ctx.getBean(SqlSessionFactoryBean.class);System.out.println(bean);}
}
三、Spring整合Junit
1、引入依赖
<properties><!--Spring版本控制--><spring.version>5.2.10.RELEASE</spring.version></properties><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version></dependency><!--junit--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies>
2、编写测试类
import com.liming.config.SpringConfig;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;// 设置类运行器
@RunWith(SpringJUnit4ClassRunner.class)
// 加载Spring的配置类,生成容器对象
@ContextConfiguration(classes = {SpringConfig.class})
//@ContextConfiguration(locations={"classpath:applicationContext.xml"})//加载配置文件
public class SpringTest {@Testpublic void test(){}
}