1.导入整合坐标
2.Spring配置文件
@Configuration
@ComponentScan("com.itheima")
//加载properties,后缀 properties 是一种属性文件。这种文件以key=value格式存储内容
@PropertySource("classpath:jdbc.properties")
//引入我们自己写的第三方
@Import({JdbcConfig.class,MybatisConfig.class})
public class SpringConfig{
}
3.JdbcConfig.java第三方整合
这些值全部来自于jdbc.properties
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
public DataSource dataSource(){
DruidDataSource ds = new DruidDataSource();
ds.setDriverClassName(driver);
ds.setUrl(url);
ds.setUsername(userName);
ds.setPassword(password);
return ds;
}
}
4.MyBatisConfig配置文件
配置第三方bean,需要使用@Bean
通过配置,可以代替上方的数据
通过SqlSessionFactoryBean生成的对象,通过具体方法调用 使用@Bean注解,定义的bean、要想注入引用类型,要在形参上注入
public class MybatisConfig{
@Bean
public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource){
SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();
ssfb.setDataSource(dataSource)
return ssfb;
}
}
整合Spring映射包
@Bean
public MapperScannerConfigurer mapperScannerConfigurer(){
MapperScannerConfigurer msc = new MapperScannerConfigurer();
msc.setBasePackage("com.itheima.dao");
return msc;
}
映射接口(使用了注解)
就没有映射的.xml文件了
服务器调用接口实现类
测试类
public static void main(String[] args){
ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);
AccountService accountService = ctx.getBean(AccountService.class);
Account ac = accountService.findById(2);
System.out.println(ac);
}
整合JUnit
导入坐标
执行
设定类运行器,这个是Spring整合JUnit专用的类运行器
@RunWith(SpringJUnit4ClassRunner.class)
配
@ContextConfiguration(classes = SpringConfig.class)
public class AccountServiceTest{
@Autowired
private AccountService accountService;
@Test
public void testFindById(){
System.out.println((accountService.findById(2));
}
@Test
public void testFindAll(){
System.out.println(accountService.findAll());
}
}