(二)Spring初步搭建、IOC创建对象

环境准备:

见java环境搭建

 

新建maven项目,同时搭好项目结构,新建相应的包

(二)Spring初步搭建、IOC创建对象_第1张图片

 

Spring的初步搭建

1、导入jar包,Spring版本为5.1.10,同时导入junit包

<dependency>
    <groupId>org.springframeworkgroupId>
    <artifactId>spring-webmvcartifactId>
    <version>5.1.10.RELEASEversion>
dependency>
<dependency>
    <groupId>junitgroupId>
    <artifactId>junitartifactId>
    <version>4.12version>
dependency>

2、编写实体类User

加入以下属性,生成get set方法,对应数据库表中的字段
private String name;
private String pwd;
private int age;

3、在resources中新建Spring配置文件,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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">

    
    <bean id="user" class="com.alan.pojo.User">
        <property name="name" value="name from bean"/>
    bean>

beans>

4、创建测试类
import com.alan.pojo.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest {

    @Test
    public void test(){
        //解析applicationContext.xml文件 , 生成管理相应的Bean对象 
      ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
     //getBean : 参数即为spring配置文件中bean的id .
      User user = (User) context.getBean("user");
      System.out.println(user.getName());
}
}

5、测试输出结果

(二)Spring初步搭建、IOC创建对象_第2张图片

 

 小结:

User对象由Spring来创建,这个对象的属性通过Spring容器进行设置(XML配置),这样的一个过程即IOC控制反转,将属性交给了用户去设置

  • 控制 : 谁来控制对象的创建 , 传统应用程序的对象是由程序本身控制创建的 , 使用Spring后 , 对象是由Spring来创建的
  • 反转 : 程序本身不创建对象 , 而变成被动的接收对象 

IOC是一种编程思想,由主动的编程变成被动的接收,依赖注入是实现IOC的一种方式

依赖注入 : 就是利用set方法来进行注入的


IOC创建对象
基于第一篇IOC基础推导,现在通过Spring容器来实现
1、新增applicationContext.xml,并添加相关的bean
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="ImplA" class="com.alan.dao.UserDaoImplA"/>
    <bean id="ImplB" class="com.alan.dao.UserDaoImplB"/>

    <bean id="ServiceImpl" class="com.alan.service.UserServiceImpl">
        
        
        <property name="userDao" ref="ImplA"/>
    bean>

beans>

2、测试

    @Test
    public void test2(){
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserServiceImpl serviceImpl = (UserServiceImpl) context.getBean("ServiceImpl");
        serviceImpl.getUser();
    }

现在彻底不用再去程序中去改动了 , 要实现不同的操作 , 只需要在xml配置文件中进行修改 , 所谓的IoC : 对象由Spring 来创建 , 管理 , 装配 !

Spring容器中的bean在使用以前就是初始化的状态。

 

你可能感兴趣的:((二)Spring初步搭建、IOC创建对象)