spring

初始了解:

有了这个spring框架,代码之间的耦合度确实变低了,在类中定义,在配置文件中赋值,....(暂时不明白这个框架)

<bean id="book" class="com.xiao.Book" scope="singleton"><!--scope="prototype"--> 
</bean>
  • id:标识,唯一

  • class:绑定的类

  • scope:

    • singleton:单例模式,类加载就创建对象

      实例:

      com.xiao.Book@612679d6
      com.xiao.Book@612679d6

    • prototype:多例模式,使用时才创建对象

      实例:

      com.xiao.Book@612679d6
      com.xiao.Book@11758f2a

Bean实例化的三种方式

  1. 无参构造

  2. 工厂静态方法实例化

    public class BookFactory {
        public static Book getBook() {
            return new Book();
        }
    }
    
    public class BookTest {
        @Test
        public void booktest(){
            ApplicationContext context =
                    new ClassPathXmlApplicationContext("applicationContext.xml");
            Book book = (Book) context.getBean("book");
            System.out.println(book);
        }
    }
    
    <bean id="book" class="com.xiao.BookFactory" factory-method="getBook"></bean>
    
  3. 工场实例方法实例化

    public class BookFactory {
        public Book getBook() {
            return new Book();
        }
    }
    
    <bean id="bookFactory" class="com.xiao.BookFactory"></bean>
        <bean id="book" factory-bean="bookFactory" factory-method="getBook"></bean>
    
posted @ 2022-03-05 15:04  xiaoovo  阅读(31)  评论(0)    收藏  举报