1.什么是spring
Spring是分层的JavaSE/EE一站式轻量级开源框架,它以IOC(Inverse of Control 控制反转)和AOP(Aspect Oriented Programming 面向切面编程)为内核 ;Spring中可以让众多优秀模式进行*组合。
Spring的好处是方便解耦,简化开发,Spring像一个巨大工厂,可以将所有的对象的创建和依赖关系进行维护,原来由我们自己进行管理的,现在交给Spring管理;
2.Spring架构的组成
Spring 框架是一个分层架构,它由 7 个模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式 。
3.Spring的入门
1)在pom.xml文件下导入相关依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
2)在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"
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">
<bean id="userService" class="com.qfedu.service.impl.UserServiceImpl">
</beans>
3)在测试类中进行测试
public class SpringTest {
@Test
public void test(){
//加载配置文件
ClassPathXmlApplicationContext applicationContext =
new ClassPathXmlApplicationContext("applicationContext.xml");
//获取Bean对象
UserService userService = (UserService)applicationContext.getBean("userService");
//调用方法
userService.addUser();
userService.deleteUser();
//关闭
applicationContext.close();
}
}
4.Spring创建bean的三种方式
Bean元素:Spring管理对象的容器
id属性:给被管理对象起个名字(一般使用它的类名或接口名)
class属性:被管理对象的完整类名
name属性:根据名字获取对象
创建bean的三种方式:
第一种方式:使用默认的构造函数创建
在application.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">
<bean id="userService" class="com.qf.service.impl.UserServiceImpl"></bean>
</beans>
第二种方式:使用工厂中的方法创建对象
注意:这种创建方式在工厂中的对应的方法中创建对象,再放入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"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="userFactory" class="com.qf.factory.UserFactory"></bean>
<bean id="userDao" factory-bean="userFactory" factory-method="getUserService"></bean>
</beans>
第三种方式:使用工厂中的静态方法来创建对象
注意:这种方式与第二种类似,其中的方法为静态的方法
<?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.qf.factory.UserFactory" factory-method="getUserService"></bean>
</beans>