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容器中,默认值为当前类名.
@Component
Public class DogServiceImpl implements DogService{
}
2. 注入数据 @Autowired
@Autowired 放在属性上通过set方法注入
放在构造器上通过构造方法注入
作用和配置文件的中的bean标签的 property标签一样.
@Component
Public 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对象
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对象
原文始发于微信公众号(隐雾安全):java代码审计必备技能之——Spring框架
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论