zoukankan      html  css  js  c++  java
  • Spring IoC、DI入门小程序

    Alt+/智能提示xml配置文件节点及属性;在接口上使用Ctrl+T可以提示其实现类

    一、IoC控制反转(将创建对象的权利交给spring)入门小程序

    1、引入jar包

    2、工程基本结构

    3、新建UserService类

    package hjp.spring.demo1;
    
    import org.junit.Test;
    
    public class UserService {
        public void addUser() {
            System.out.println("addUser");
        }
    }

    4、新建beans.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="userServiceId" class="hjp.spring.demo1.UserService"></bean>
    </beans>

    5、新建测试类TestApp

    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class TestApp {
        @Test
        public void demo1() {
            // 1、加载配置文件
            ApplicationContext applicationContext = new ClassPathXmlApplicationContext("hjp/spring/demo1/beans.xml");
            // 2、从Spring工厂获得对象
            UserService userService = (UserService) applicationContext.getBean("userServiceId");
            userService.addUser();
        }
    }

    二、DI依赖注入(自动实例化类中属性对象)入门小程序

    1、沿用上面工程

    2、新增包,结构如下

    3、新建BookDao类

    package hjp.spring.demo2;
    
    public class BookDao {
        public void save() {
            System.out.println("save book");
        }
    }

    4、新建BookService类

    package hjp.spring.demo2;
    
    public class BookService {
        private BookDao bookDao;
    
        public BookDao getBookDao() {
            return bookDao;
        }
    
        public void setBookDao(BookDao bookDao) {
            this.bookDao = bookDao;
        }
    
        public void addBook() {
            bookDao.save();
        }
    }

    5、新建beans.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">
        <!-- 创建dao -->
        <bean id="bookDaoId" class="hjp.spring.demo2.BookDao">
        </bean>
        <!-- 创建service -->
        <bean id="bookServiceId" class="hjp.spring.demo2.BookService">
            <!-- <property>进行依赖注入过程,底层将执行setter方法 
            name 指BookService类bookDao属性 
            ref 指属性实例引用 
            -->
            <property name="bookDao" ref="bookDaoId"></property>
        </bean>
    </beans>

    6、新建测试类TestAPP

    package hjp.spring.demo2;
    
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class TestApp {
        @Test
        public void demo1() {
            //获得容器
            ApplicationContext applicationContext = new ClassPathXmlApplicationContext("hjp/spring/demo2/beans.xml");
            //获得对象
            BookService bookService = applicationContext.getBean("bookServiceId", BookService.class);
            bookService.addBook();
        }
    }
  • 相关阅读:
    [Java复习] 面试突击
    [Java复习] 面试突击
    [Java复习] 面试突击
    [Java复习] 面试突击
    [Java复习] 面试突击
    [Java复习]分布式事务 TCC RocketMQ最终一致性
    [Java复习]架构部署 超时重试 幂等防重
    [Java复习] 网关 灰度发布
    待查看
    CentOS7下搭建基本LNMP环境,部署WordPress
  • 原文地址:https://www.cnblogs.com/hujiapeng/p/4773553.html
Copyright © 2011-2022 走看看