1. Spring概述
1.1 什么是Spring
Spring作为一款轻量级开源框架,以控制反转(IOC)和面向切面编程(AOP)为内核.解决了开发人员在工作过程中遇到的许多常见问题.包括目前市场的java项目绝大部分会采用Spring框架技术.
1.2 Spring框架优点
Spring框架可以通过使用依赖注入(DI)来解耦各个组件之间的依赖关系,达到项目的可测试和易于维护性。还可以通过面向切面编程(AOP)管理系统中的横切关注点,提高模块化 将关注点从程序中的逻辑分离出来,使代码清晰简洁易于维护.
2. Spring核心之一IOC的具体实现
控制反转(IOC)作为Spring框架的核心之一,它是一种软件的设计思想 而实现这种思想的技术就叫做 依赖注入(DI).同时Spring框架的核心技术也就是 依赖注入(DI).
对于Spring框架 控制反转(IOC) 就是把负责控制对象生命周期和对象间的关系来交给Spring管理.而依赖注入(DI) 则是动态的向某个对象提供它所需要的其他对象.
Spring依赖注入可以注入三种类型的数据:
\1. String类型和其它基本类型
\2. 复杂类型/集合类型
\3. 在配置文件中配置过的bean
\4. 在注解中配置过的bean
Spring注入的方式有:
\1. 使用构造函数注入
在bean标签的内部使用 constructor-arg标签
<bean id="demo" class="com.yw.Demo"><constructor-arg name="name" value="江湖"></constructor-arg><constructor-arg name="age" value="55555"></constructor-arg></bean>
在constructor-arg标签中 value用于指定其它bean类型的数据,就是ico容器中出现过的其它bean对象.除了有value属性为 ,还有 type index name 属性 这三个属性用于指定给构造函数中哪个参数赋值
\2. 使用set方法注入
在bean标签内部使用 property标签
<bean id="demo" class="com.yw.Demo"><property name="name" value="江湖"></property ><property name="age" value="55555"></property ></bean>
Set方法不能清晰的表达哪些属性是必须的,因为在创建对象时,如果规定某个成员必须有值,则在获取对象时set方法可能没有执行。
\3. 使用注解注入
\1. 创建对象容器
使用@Component注解 放在类上,作用是把当前类放在Spring容器中,默认值为当前类名.
@ComponentPublic class DogServiceImpl implements DogService{ }
\2. 注入数据 @Autowired
@Autowired 放在属性上通过set方法注入
放在构造器上通过构造方法注入
作用和配置文件的中的bean标签的 property标签一样.
@ComponentPublic class DogServiceImpl implements DogService{@Autowired //注入Private DogService dogService;}
3.Spring快速上手
1.创建一个Spring项目
\1. 在idea中创建maven项目
\2. 在pom.xml文件中添加spring信息
<dependencies>• <dependency>• <groupId>org.springframework</groupId>• <artifactId>spring-context</artifactId>• <version>5.2.3.RELEASE</version>• </dependency> </dependencies>
\3. 添加启动类
Public class App{Public static void main(String[] args){ }}
2. 向Spring容器中 存储Bean对象
\1. 创建一个Bean对象
publicclassDogprivateStringname;privateStringcolor;publicStringgetName()returnname;publicvoidsetName(Stringname)this.name=name;publicStringgetColor()returncolor;publicvoidsetColor(Integercolor)this.color=color;
\2. 将创建的Bean对象注册到Spring容器中
在项目中的resources文件夹中建立Spring的配置文件 spring-config.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的核心配置文件
\3. 在核心配置文件中 使用Bean标签把Dog对象注册到Spring容器中
<beans> <bean id="dog" class="com.yw.Dog"></bean></beans>
Bean标签把对象交给Spring来创建,基本有id和class 其中id为Bean的实例在Sping容器中的唯一标识 而class则是Bean的全局名称(对象的路径)
3. 从Spring容器中获取使用Bean对象
1.创建Spring上下文
方式(1):在App启动文件中添加如下语句ApplicationContext context = new ClassPathXmlApplicationContext(“spring配置名”);
方式(2):使用Bean工厂 BeanFactory
创建Bean工厂BeanFactory factory = new XmlBeanFactory(new ClassPathResource(“spring配置文件名”));
\2. 获取指定的Bean对象ApplicationContext context=new ClassPathXmlApplicationContext(“Spring容器配置文件”);
//获取Bean对象context.getBean(“dog”);
//dog为上文定义的id标签
//使用对象接收Dog dog = (Dog) context.getBean(“dog”);
3. 使用Bean
在Dog类中添加一个run方法 来演示使用Bean调用此方法.
dog类:Public void run(){
System.out.println(“跑”);
}
使用Bean:Dog.run();
4. Spring使用流程
\1. 第一步首先使用idea编辑器来创建一个Spring项目并且引入Spring所需要的文件以及在Spring配置文件中,配置基础的信息.
\2. 存储Bean,首先创建一个Bean对象 将Bean对象存入Spring容器中(sprign-config.xml)
\3. 获取使用Bean对象:首先获取全局配置文件——>ApplicationContext || BeanFactory 其次根据id 使用getBean()来获取Bean对象
\4. 最后使用我们的Bean对象
暂无评论内容