Spring的创建和使用

我们先来看一下Spring的创建和使用吧!!

目标一:创建Spring(Core)项目:

  1. 创建Maven项目

    Name:项目名称(不能有中文)

    Location:项目保存路径(不能有中文)

    GroupId:组织(公司)标识(到写:com.baidu.www)

    ArtifactId:项目标识

    Version:项目版本号

    Spring的创建和使用_第1张图片
  2. 添加Spring依赖(出错概率极高)

     配置Maven国内源(非常重要)

    Idea设置文件有两个(需要设置两个配置文件的国内源配置)

    一个是当前项目配置文件

    Spring的创建和使用_第2张图片

    另一个是新项目配置文件(如下图所示)然后在根据上面截图进行配置即可~

    Spring的创建和使用_第3张图片

    设置setting.xml 文件:
    Spring的创建和使用_第4张图片

    另外:需要在文件管理器中打开该地址
    新建一个Setting.xml文件,如果没有直接用小编的代码即可,
    如果有的话,那么,需要手动配置阿里源(其他源也可)

    
    
    
    
    
    
      
    
      
    
      
    
      
      
        
      
    
      
      
        
      
    
      
      
        
    
        
      
    
      
      
       
            alimaven
            aliyun maven
            http://maven.aliyun.com/nexus/content/groups/public/
            central        
          
        
      
    
      
      
        
    
        
      
    
      
    
    

目标二:将Bean对象存储到Spring容器中

  1. 创建一个Bean(在Java中,一个对象如果被多次使用,就称为Bean)
    public class Student {
        //创建一个Bean
        public void sayHi(){
            System.out.println("hi student");
        }
    }
    
  2. 将Bean存储到Spring容器中
     
    
    //student:Bean名称(望文思意)
    //com.spring.demo.Student:包名+类名

    Spring的创建和使用_第5张图片

    总之:上述内容的大致意思为:将Bean(com.spring.demo.Student)存储到Spring容器中,它的名称叫做student

目标三:从Spring容器中读取到Bean(Spring Bean)

package com.spring.demo;

public class App {
    public static void main(String[] args) {
        //1.得到Spring
        ApplicationContext context=new ClassPathXmlApplicationContext("spring.config.xml");
        //2.从spring容器中获取到Bean对象,
        //这里的student需要保持一致!
        Student student=(Student)context.getBean("student");
        //使用Bean
        student.sayHi();
    }
}

那么,经过上述的几个操作,我们就可以成功的学会Spring的创建和使用了,此时,我们就可以来看一下下面的:得到Spring上下文对象的方法吧!

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

    将xml中所有的对象存储到Spring容器中,特征:比较费内存,一次加载,之后的读取会非常块

  2. BeanFactory  beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml");
    //即将OUT

    只有调用getBean才会去加载对应的Bean,属于懒加载,特征:节省内存,调用时才会加载初始化,效率不怎么高!

那么,我们来看一下经典的面试题吧!

ApplicationContext VS BeanFactory(常见面试题)

  1. 继承关系和功能方面来说:
    Spring容器有两个顶级的接口:BeanFactory和ApplicationContext,其中BeanFactory提供了基础的访问容器的能力,而ApplicationContext属于BeanFactory的子类,它除了继承BeanFactory的所有功能之外,它还拥有独特的功能,还添加了对国际化支持,资源访问支持,以及事件传播等方面的支持!!
  2. 从性能方面来说:
    ApplicationContext是一次加载并初始化所有的Bean对象,而BeanFactory是需要哪个,才会去加载哪个,因此更加轻量!!

有了上述知识的铺垫,我们来看一下:获取Bean的3种方式吧!!

  1. 通过名称获取(强制类型转化)
    STudent student = (Student)context.getBean("student");
  2. 通过类型方式获取
    STudent student = context.getBean(student.class);

    如果Spring中一个类型存储了多个类型,那么,使用类型获取Bean的时候就会报错!

      
      

    每一个放到Spring中的Bean,Spring都会为其创建一个单独的对象,不会因为类型相同就不创建了!!

  3. 通过名称+类型方式获取

    只要求外网IP必须唯一的

    内网IP在不同的局域网中,是允许重复的!!(同一个局域网里不能重复)

    内网IP在咱们办公楼内部(局域网内部),别人的IP一定都不一样!

    但是,相对于全国各地,有的就可能会有和我一样的内网IP!

总结:

  1. 创建Spring项目

    a.创建一个Maven项目

    b.添加spring-context依赖

    c.创建一个启动类(作用:为后面从spring容器中获取Bean做准备)

  2. 存储Bean

    a.先创建Bean对象

    b.通过Spring配置文件spring-config.xml

    如: 

  3. 读取Bean

    a.得到Spring对象(ApplicationContext(官方推荐) BeanFactory(即将OUT)

    b.通过Spring对象,getBean方法获取到Bean对象(DI操作)

    c.(非必须)使用Bean

你可能感兴趣的:(操作系统哪些事?,java要笑着学,java,开发语言,spring,maven)