spring基础思维导图

spring基础思维导图

  • spring
    • 1、加载配置文件:BeanFactory bf = new ClassPathXmlApplicationContext("applicationContext.xml");
    • User user = (User) bf.getBean("user");
    • IOC控制反转,利用bean工厂创建对象
      • bean标签:id代表创建的对象名,class代表类名,scope代表是单例还是多例,(prototype, singleton 默认单例)  lazy-init="true" 是否懒加载, init-method="toString”,对象创建时就执行的方法,destroy-method对象销毁是执行的方法
      • DI依赖注入,与set方法名有关,获得对象
        • 属性设置: <property name=“属性名” value=“值”></property>
        • <property name=“属性名”>
        • <value></value>
        • </property>
          • value只能放四类八种和String,ref注入对象
        • <property name=“属性名”>
        • <list><value>w值</value>
        • </list></property>
        • map:<property name="map"><map><entry><key><value>键值</value> </key>   <value></value></entry></map></property>
        • 对象:<property name="userinfo" ref=“对象的bean的id”></property>
      • 构造方法注入
        • <bean id="tom" class="com.lanou.spring.beans.Cat"   lazy-init="true">
        • <constructor-arg>
        • <!-- 参数 --><value>第一个参数值</value>
        • </constructor-arg><constructor-arg>
        • <!-- 第二个对象参数 --><ref bean="user" /> 
        • </constructor-arg>
        • </bean> 
    • 2、加载文件: ApplicationContext context=new ClassPathXmlApplicationContext("sptingtest.xml");
    • User user=(User) context.getBean("user");
    • 注解:IOC 对象,相当与bean@Component("user”)相当于id
    • @Scope("prototype”)设置多里
    • @Lazy(false)设置是否懒加载
      • DI注入:
        • 在需要设置的属性上加@Value("liguocheng")
        • 引用对象类型加 @Autowired根据类型自动加载  是spring提供的,自动选择对应的类 ,或加按名称注入 java自带的@Resource(name="info")
      • @PostConstruct//构造方法执行晚一会立即执行相当于init-menthod