您现在的位置是:首页 >技术交流 >02 Spring快速上手(配置文件方式)网站首页技术交流

02 Spring快速上手(配置文件方式)

Zinksl 2023-06-02 12:00:03
简介02 Spring快速上手(配置文件方式)


Spring框架使用步骤(配置文件方式)

1 IOC控制反转快速上手

控制反转:就是把创建对象的工作由spring操作

1 导入Spring坐标

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
  <version>5.2.10.RELEASE</version>
</dependency>

2 创建applicationContext.xml配置文件在resources文件夹下

image.png

3 配置bean,在applicationContext.xml文件中

bean属性说明备注
id用于当前标记当前bean名字可以随便取
class用于指定需要管理的对象配置实现类,别配接口
name用于起别名可有多个别名,别名间用逗号,空格,封号进行分隔
scope作用范围,用于设置bean是否是单例
<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 -->
        <bean class="com.zinksl.dao.impl.BookDao"/>
</beans>

4 通过容器获取bean调用方法

//        第一步获取Spring容器
        ApplicationContext act = new ClassPathXmlApplicationContext("applicationContext.xml");
//        获取bean
        BookService bookService = (BookService) act.getBean("bookService");
//        调用方法
        bookService.say();

2 DI快速上手

依赖注入:

2.1 通过在目标bean标签内添加property标签配置

image.png

  • property 属性说明
属性说明备注
name调用类中,定义的变量名
ref指向容器中被掉用bean的id

3 使用工厂模式创建对象

  1. 第一步:创建工厂类并实现FactoryBean接口,重写三个方法
public class BookDaoFactory implements FactoryBean {
    public Object getObject() throws Exception {
        return new BookDao();
    }

    public Class<?> getObjectType() {
        return BookDao.class;
    }
    public boolean isSingleton() {
        return true;
    }
}
  1. 第二步:与普通使用一样,class属性指向工厂类,创建的对象就是目标对象不是工厂对象
<bean id="factoryBookDao" class="com.zinksl.factory.BookDaoFactory" />
  1. 第三步:通过bean调用相关方法
public static void main(String[] args) {
    //        第一步获取Spring容器
    ApplicationContext act = new ClassPathXmlApplicationContext("applicationContext.xml");
    //        获取bean
    BookDao factoryBookDao = (BookDao) act.getBean("factoryBookDao");
    //        调用方法
    factoryBookDao.say();
}
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。