二、Sping快速入门

关于spring的一些好处,核心容器(Beans,Core,Context,Expression Language)的一些东西,我们先放在一边,今天我们学习关于spring的两大核心技术(IOC(控制反转/依赖注入),AOP(面向切面编程))中的IOC。

IOC可以从两个层面来看待,分别是控制反转和依赖注入,也可以说是一个过程,本人的理解是先控制反转,然后依赖注入,具体步骤如下:

  1. 创建新一个项目

spring框架盈利模式 spring框架项目_spring

  1. 创建一个Maven项目,

spring框架盈利模式 spring框架项目_ioc_02

  1. 写入项目名,springTest即为项目名

spring框架盈利模式 spring框架项目_spring框架盈利模式_03

spring框架盈利模式 spring框架项目_控制反转_04

  1. 首先导入jar包,第一行为jar包的版本,需要放入在下,其他为spring的一些jar包,需要放在下
<spring.version>4.0.2.RELEASE</spring.version>

<!-- spring框架包 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-oxm</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.8</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
  1. 在main文件夹下创建java和resource文件,分别设置为类文件和资源文件

spring框架盈利模式 spring框架项目_ioc_05

  1. 创建实体类HelloSpring

spring框架盈利模式 spring框架项目_spring_06

  1. 在resource下创建spring.xml 文件 ,需要加入有关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">
  <!-- 相当创建对象new
    class 类的完全限定名
    id   别名-->
    <bean id="helloSpring" class="com.test.pojo.HelloSpring"></bean>
</beans>
  1. 在main文件夹下创建test类,作为测试类

spring框架盈利模式 spring框架项目_控制反转_07

  1. 快捷键创建测试类

spring框架盈利模式 spring框架项目_xml_08

spring框架盈利模式 spring框架项目_控制反转_09



完成测试类

//加载spring配置文件
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring.xml");
//获取bean  此时的bean与spring.xml 中bean的id要一致
HelloSpring helloSpring =(HelloSpring) applicationContext.getBean("helloSpring");
helloSpring.show();

11.

spring框架盈利模式 spring框架项目_控制反转_10

显示就证明完成了基础的spring配置,证明了控制反转。

那依赖注入呢?

接下来在上个案例的基础上继续书写

  1. 回到HelloSpring实体类,这里要注意的是@Setter就相当于封装的setter方法
public class HelloSpring {
    @Setter
    private  String msg;
    public  void show(){
        System.out.println(msg);
    }
}
  1. 到spring.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">
  <!-- 相当创建对象new
    class 类的完全限定名
    id   别名-->
  <!--这个过程相当于控制反转-->
    <bean id="helloSpring" class="com.test.pojo.HelloSpring">
       <property name="msg" value="这是spring相当于依赖注入"></property>
    </bean>
</beans>
  1. 回到test测试类中直接运行,结果截图如下:

spring框架盈利模式 spring框架项目_控制反转_11