什么是Spring
- Spring是一个轻量级的,可以创建对象设置属性值并管理对象的开源框架
为什么要学Spring
- 提高项目可维护度,提高开发效率
Ioc思想和DI思想
- Ioc思想:将创建对象的控制权交给Spring,让Spring帮我们创建并管理对象
- DI思想:在Spring创建对象之后,Spring调用对象的setXxx方法,将Value的值设置到对象的属性中
使用Spring的基本流程
- 添加Spring的依赖
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.8.RELEASE</version> </dependency>
- 编写实体类
- 编写配置文件,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 http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--加载db.properties配置文件--> <context:property-placeholder location="classpath:db.properties" /> <!--创建数据源DataSource--> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!--设置连接数据库四要素--> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean> <!--创建UserDaoImpl对象,并将DataSource设置到对象属性中--> <bean id="userDao" class="icu.resip.dao.impl.UserDaoImpl"> <!--name的值是对象中的属性名称,ref是引用另一个Spring容器的Bean,将Bean设置到该对象的属性值中--> <property name="dataSource" ref="dataSource" /> </bean> <!--配置UserServiceImpl对象,并将UserDaoImpl设置到对象属性中--> <bean id="userService" class="icu.resip.service.impl.UserServiceImpl"> <property name="userDao" ref="userDao" /> </bean> </beans>
- 编写测试类
- 启动Spring容器
- 方式一
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
- 方式二
//下面两个注解相当于启动容器 ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(value = "classpath:applicationContext.xml")
- 方式一
- 从Spring容器中获取Bean
- 方式一
context.getBean(UserService.class);
- 方式二
//该注解相当于从Spring Ioc容器中获取Bean context.getBean(UserService.class); @Autowired private UserService userService;
- 方式一
- 对Bean操作
- 启动Spring容器