spring2:创建和使用

目录

1.创建Spring项目

1.1创建Maven类

1.2添加Spring支持框架

1.3添加启动类

2.存储Bean对象

2.0 spring项目中添加配置文件(第一次)

2.1创建Bean

2.2把Bean注册到容器中

3.获取并使用Bean对象

3.1创建上下文

3.2获取指定Bean对象

getBean()方法  -->  获取什么,得到什么

3.2.1.使用bean name获取

3.2.2使用bean type获取

3.2.3使用bean name和类型获取

3.3使用Bean

4.ApplicationContext和BeanFactory有什么区别

1.相同点

2.不同点


1.创建Spring项目

1.1创建Maven类

1.2添加Spring支持框架

pom.xml中添加

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

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>5.2.3.RELEASE</version>
    </dependency>
</dependencies>

1.3添加启动类

public class APP {
    public static void main(String[] args) {
        
    }
}

2.存储Bean对象

2.0 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">

</beans>

2.1创建Bean

public class User {
    public void func(String name){
        System.out.println(name);
    }
}

2.2把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="userinfo" class="com.beans.User"></bean>
</beans>

3.获取并使用Bean对象

3.1创建上下文

  ApplicationContext context=
                new ClassPathXmlApplicationContext("spring-config.xml");
        

3.2获取指定Bean对象

传统的代码:构造方法改变,当前类也要改变

User user=new User();

getBean()方法  -->  获取什么,得到什么

3.2.1.使用bean name获取

如果userinfo为null,会出错

User user= (User) context.getBean("userinfo");

3.2.2使用bean type获取

如果被注册了多次,就会出错

 User user=context.getBean(User.class);

3.2.3使用bean name和类型获取

比第一种更健壮

User user=context.getBean("userinfo",User.class);

3.3使用Bean

user.func("张三");

第二种:

还可以使用BeanFactory

BeanFactory factory=new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
        User user= (User) factory.getBean("userinfo");
        user.func("张三");

4.ApplicationContext和BeanFactory有什么区别

1.相同点

都实现了从容器中获取Bean,都提供了getBean方法

2.不同点

1.ApplicationContext属于BeanFactory子类.BeanFactory提供了基础访问Bean的方法,ApplicationContext除了用于父类BeanFactory的所有功能外,还有新的方法实现

2.性能:BeanFactory要加载Bean,ApplicationContext是饿汉方法,创建时,把所有Bean都加载

猜你喜欢

转载自blog.csdn.net/qq_53190275/article/details/130451739