spring框架

1、spring基于xml的IOC环境的搭建和入门

添加pom文件jar包

 
org.springframework spring-context 5.0.2.RELEASE

 

spring框架beans配置文件

spring创建bean对象的三种方式

  1、使用默认构造函数

  2、使用普通工厂类的,或其他类的某个方法创建对象,并存入spring容器

  3、使用某个类的静态方法创建对象,并存入spring容器中

  4、bean对象的生命周期

    单例对象:

    容器创建bean对象创建

    容器还在,对象活着

    容器销毁,对象销毁

    多例对象:

    当我们使用对象是对象创建

    对象只要在使用过程中就一直活着

    当对象长时间不用时,有java垃圾回收机制回收而死亡

 

spring的依赖注入

能注入的数据有三类

  1、基本类型和String类型

  2、其他bean类型(在配置文件中或注解配置过得bean)

  3、复杂类型和集合类型

注入的方式有三种

  1、使用构造函数注入

  2、使用set方法注入

  3、使用注解

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

  


    

  
  
  
  

  
  

  
  

  
  
    
    
    
  

  


  
  
    
    
    
  



  
list结构
    
      
        AAA
        BBB
      

    

list结构
    
      
        AAA
        BBB
      

    

set结构
    
      
        AAA
        BBB
      

    

map结构
    
      
        
          AAA
        

        
          BBB
        

      

    

map结构
    
      
        CCC
      

    
 

  


ApplicationContext三个常用实现类

  ClassPathXmlApplicationContext:他可以加载类路径下的配置文件要求配置文件必须在类路径下,不在的话加载不了

  FileSystemXmlApplicationContext:它可以加载磁盘任意路径下的配置文件(必须有访问权限)

  AnnotationConfigApplicationContext:他用于读取注解创建容器的

 

核心容器的两个接口引发的问题

  ApplicationContext:在构建容器时,采用立即加载的方式。也就是说只要加载配置文件,立即创建配置文件中配置的对象。在单例情况下使用

  BeansFactiory: 在构建核心容器时,创建对象才用的策略是延迟加载。也就是说什么时候用什么时候加载。在多例情况下使用

package cn.kgc;

import cn.kgc.dao.UserDao;
import cn.kgc.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class Test {
    


    public static void main(String[] args) {
        //    获取容器对象,并读取配置文件,用于创建配置的对象
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("bean.xml"); ApplicationContext applicationContext1=new FileSystemXmlApplicationContext("E:\\Eclipse工作空间\\Spring\\Spring_day01\\src\\main\\resources\\bean.xml"); //根据id获取Bean对象 UserDao userDao = (UserDao) applicationContext.getBean("userDao"); UserService userService = (UserService) applicationContext1.getBean("userService"); System.out.println(userDao); System.out.println(userService); } }

 

spring基于注解的IOC环境搭建

注解:

@Component

  作用:将当前类对象存入spring容器中,标注在当前类上

  属性:value 用于指定bean的id,不写时默认为当前类名并把首字母改小写

@Controller用于controller层

@Service用于service层

@Repositrory用于dao层

  以上三个注解的作用域@Component作用一样

@Autowired

  作用:自动按类型注入。只要spring容器中有唯一的一个bean对象类型和要注入的变量类型匹配,就可以注入成功

  出现的位置:可以是变量上也可以是方法上

@Qualifier

  作用:按照类型注入的基础之上再按照名称注入。他在给类名称注入是不能单独使用必须和@Autowired配合使用。但在给方法参数注入时可以使用

  属性:value 用于指定注入bean的id

@Resource

  作用:通过name属性指定唯一的bean的id注入

  属性:name 指定bean的id

@Value

  作用:用于注入基本数据类型和String类型的数据

  属性:value。用于指定数据的值。他可以使用spring的EL表达式($(表达式))

@Scope

  作用:用于指定bean的作用范围,标注在类上

  属性:value:指定范围的取值。常用取值:singleton(单例)   prototype(多例)不写时默认单例

@PreDestroy

  作用:用于指定销毁方法,标注在方法上

@PostConstruct

  作用:用于指定初始化方法,标注在方法上

 

bean文件



       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http:// www.springframework.org/schema/context/spring-context.xsd">
    
    package="cn.kgc">

 

转载于:https://www.cnblogs.com/liugaoyanging/p/11567957.html

你可能感兴趣的:(spring框架)