Spring初识新建工程

Posted Dream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring初识新建工程相关的知识,希望对你有一定的参考价值。

1、BeanFactory接口

BeanFactory接口为Spring的原始接口,功能较为单一,其特点是,每次在获得对象的时候才会创建对象,而ApplicationContext 是事先创建对象,需要的时候直接从容器中去即可。BeanFactory是一个工厂,用于生成任意bean。

 

2、ApplicationContext 类

(1)介绍:

每次容器创建的时候就会创建容器中所配置的对象,并且功能有很大的增强。但是,ApplicationContext较为浪费资源,因为它将所有的对象一次全部创建出来,而BeanFactory是在调用和对象的时候才会去创建对象。

(2)ApplicationContext 获取配置文件的方法:

从类路径下获取配置文件:

 ApplicationContext applicationContext=new
                ClassPathXmlApplicationContext("applicationContext.xml");//创建容器对象

从硬件绝对路径下获取配置文件(指定盘符下的xml):

FileSystemXmlApplicationContext("路径")

 

3、ApplicationContext 类与BeanFactory接口的对比

(1)ApplicationContext 类:

StudentServiceImpl:
public class StudentServiceImpl {
    private StudentDao studentDao;

    public StudentServiceImpl() {
        System.out.println("service的实现类被创建了!!");
    }

    public StudentDao getStudentDao() {
        return studentDao;
    }
    public void setStudentDao(StudentDao studentDao) {
        this.studentDao = studentDao;
    }
    public void addStudent(){
        System.out.println("StudentService的实现类的Add方法!!");
        studentDao.addStudent();
    }
}

测试类:

  public static void main(String[] args) {
        ApplicationContext applicationContext=new
                ClassPathXmlApplicationContext("applicationContext.xml");//创建容器对象
        StudentServiceImpl studentService=(StudentServiceImpl) applicationContext.getBean("studentService");
        studentService.addStudent();
    }

测试结果:

service的实现类被创建了!!
StudentService的实现类的Add方法!!
StudentDao的实现类的Add方法!!

 

(2)BeanFactory接口

   public static void main(String[] args) {
        BeanFactory beanFactory=new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));
        StudentServiceImpl studentService=(StudentServiceImpl) beanFactory.getBean("studentService");
        studentService.addStudent();
    }
  • 在调用getBean的时候才会去创建对象
  • Bean 工厂是工厂模式的一个实现,提供了控制反转功能,用来把应用的配置和依赖从应用代码中分离。最常用的BeanFactory 实现是XmlBeanFactory (org.springframework.beans.factory.xml.XmlBeanFactory类)类。它根据 XML 文件中的定义加载beans。该容器从XML 文件读取配置元数据并用它去创建一个完全配置的系统或应用。

 

以上是关于Spring初识新建工程的主要内容,如果未能解决你的问题,请参考以下文章

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

初识Spring Security:为什么跳转不到设定的首页面

Spring Boot&&Spring Cloud系列Spring Boot初识

初识STM32--MDK5下使用V3.5库新建工程

Spring4.0学习笔记002——Spring应用初识

Spring Boot 2 - 初识与新工程的创建