Spring特点
Spring是一个开源免费的框架 (容器)!
Spring是一个轻量级的框架 , 非侵入式的
控制反转 IoC , 面向切面 Aop
对事务的支持 , 对框架整合的支持
Ioc控制反转
个人理解为以往创建对象的权力在程序员手中,而现在将这个权力给于用户,用户根据不同需要创建不同对象
IOC本质
控制反转IoC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IoC的一种方法,也有人认为DI只是IoC的另一种说法。没有IoC的程序中 , 我们使用面向对象编程 , 对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了。
第一次简单使用spring来推导Ioc思想
首先在pom中导入spring依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
1.首先创建bean对象以及bean
创建于数据库中的表对应的表接口
2.创建服务层,基于mvc思想,用户将请求发送给服务,服务去操作dao层,用户访问不到dao层
public class UserServieImp implements UserService {
private UserDao userDap;
public void setUserDap(UserDao userDap) {
this.userDap = userDap;
}
public void getUser() {
userDap.getUser();
}
}
3.配备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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
</beans>
这个是他的头文件,然后开始赋值
<bean id="userDaoIml" class="com.kuang.dao.UserDaoIml" ></bean>
<bean id="mysqlImp" class="com.kuang.dao.UserDaoMysqlImp"></bean>
<bean id="orcalImp" class="com.kuang.dao.UserDaoOrcalImp"></bean>
<bean id="userServieImp" class="com.kuang.service.UserServieImp">
<property name="userDap" ref="orcalImp"></property>
</bean>
bean标签:绑定内容
id:这个bean对象的名字
class:绑定实体类对象
property:对属性进行值绑定
name:将要绑定的属性名
ref:引用此配备文件中的bean对象
value:直接赋值
4.测试
//通过xml配备文件获取到context对象
ApplicationContext context=new ClassPathXmlApplicationContext("bean.xml");
//取出想要获取到的对象
Hello hello=(Hello)context.getBean("hello");
//打印获取的对象
System.out.println( hello.toString());