2021-3-5
1.Spring简介(框架、概念、体系结构)
体系结构
2.Spring—IOC简介
3.Spring–IOC入门
4.Spring–IOC配置(bean,scope,生命周期,di)
Bean
Scope
生命周期
bean对象创建方式(了解)
Di
5.Spring–IOC配置(set注入,方法构造注入,集合注入)
set注入
constructor构造注入
集合注入
6.Spring–IOC配置(properties)
properties
配置文件分块
7.Spring–IOC配置(ClassPathXmlApplicationContext、)
8.Spring整合Mybatis案例(程序运行有问题,提供个思路)
<?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">
<!--加载properties配置信息-->
<context:property-placeholder location="classpath:*.properties"/>
<!-- <bean id="userService" class="com.wc.service.impl.UserServiceImpl">-->
<!--<!– <property name="userDao" ref="userDao"/>–>-->
<!--<!– <property name="int" value="666"/>–>-->
<!-- </bean>-->
<!-- <bean id="userDao" class="com.wc.dao.impl.UserDaoImpl"/>-->
<!-- 加载druid资源-->
<bean id="dateSource" 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>
<!--配置service作为spring的bean,注入dao-->
<bean id="accountService" class="com.wc.service.impl.AccountServiceImpl">
<property name="accountDao " ref="accountDao"/>
</bean>
<!-- spring整合mybtis后控制的创建连接用的对象-->
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dateSource"/>
</bean>
<!--加载mybatis映射配置的扫描,将其作为spring的bean进行管理-->
<!-- 加载了这个basePackage就会将dao层东西导入-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.wc.dao"/>
</bean>
</beans>
9.Spring注解开发
配置文件
<?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">
<!--加载properties配置信息-->
<context:property-placeholder location="classpath*:jdbc.properties"/>
<!-- 加载druid资源-->
<bean id="dateSource" 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>
<bean id="userDao" class="dao.impl.UserDaoImpl"/>
<bean id="userService" class="service.impl.IUserServiceImpl">
<property name="userDao" ref="userDao"/>
</bean>
</beans>
package com.wc.pro.config;
import org.apache.ibatis.datasource.pooled.PooledDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.PropertySource;
import javax.sql.DataSource;
/**
* @author wc
* @Date: 2021/03/08/16:36
*/
@PropertySource("classpath:jdbc.properties")
public class DateSourceConfiguration {
@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("dateSource")
public DataSource getDateSource() {
PooledDataSource dataSource = new PooledDataSource();
dataSource.setDriver(driver);
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
return dataSource;
}
}
package com.wc.pro.config;
import org.apache.ibatis.datasource.pooled.PooledDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.*;
/**
* @author wc
* @Date: 2021/03/08/15:35
*/
@Configuration
//<context:component-scan base-package="com.wc"></context:component-scan>
@ComponentScan("com.wc")
//<!--加载properties配置信息-->
//<context:property-placeholder location="classpath*:jdbc.properties"/>
@Import(DateSourceConfiguration.class)
public class SpringConfigConfiguration {
}
package com.wc.pro.test;
import com.wc.pro.config.SpringConfigConfiguration;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.wc.pro.service.UserService;
/**
* @author wc
* @Date: 2021/03/06/15:11
*/
public class UserTest {
public static void main(String[] args) {
ApplicationContext app=new AnnotationConfigApplicationContext(SpringConfigConfiguration.class);
UserService userService = app.getBean(UserService.class);
userService.save();
}
}
10.Spring整合Mybatis(二)