控制反转(IOC):将控制权转给spring,容器,new对象的权利交给了spring(Inverse of control) 依赖注入(DI):将对象的依赖自动注入到属性值(Dependency Injection) (比如UserImpl中注入UserDao) 切面编程(AOP):Aspect Oriented programming,即面向切面编程。是通过预编译的方式和 运行期动态代理来实现程序功能的统一维护的一种技术
①. Spring基本概念
①. Spring是分层的Java SE/EE应用 full-stack 轻量级开源框架,以IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核
②. spring的简介:
Rod Johnson ( Spring 之父),2017年,9月份发布了Spring的最新版本Spring5.0
网络异常,图片无法展示
|
- ③. Spring的优势
- 方便解耦,简化开发(IOC:将创建对象交给spring来处理)
- AOP 编程的支持
- 声明式事务的支持
- 方便程序的测试
- ④. Spring的快速入门
//导入Spring开发的基本包坐标 <properties> <spring.version>5.0.5.RELEASE</spring.version> </properties> <!--导入spring的context坐标,context依赖core、beans、expression--> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> </dependencies>
//编写Dao接口和实现类 public interface UserDao { public void save(); } public class UserDaoImpl implements UserDao { @Override public void save() { System.out.println("UserDao save method running...."); } }
//创建Spring核心配置文件 在类路径下(resources)创建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" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> </beans>
// 在Spring配置文件中配置UserDaoImpl <?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="userDao" class="com.xiaozhi.dao.impl.UserDaoImpl"></bean> </beans>
// 使用Spring的API获得Bean实例 @Test public void test1(){ ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); UserDao userDao = (UserDao) applicationContext.getBean("userDao"); userDao.save(); }