zoukankan      html  css  js  c++  java
  • spring基础

    1.spring中注入是什么意思

    spring通过“控制反转”实现了“依赖注入”。一般代码中对象普遍是new Class把对象实例出来,spring的管理机制Bean工厂已经把对象创建好了 你只需要调用就行!

    “依赖注入就是通过配置文件解决代码问题
    <bean id="" class="">
    <property name="message" value="hello"/>
    </bean>


    这种方式是设置注入 (又称 setter注入)
    相当于一个bean工厂,工厂帮你创建好了这个bean对象,然后调用了
    setMessage方法将"Hello" 设置到了你的bean对象当中

    2.spring中bean的含义

    Spring配置文件中的一个bean一个bean的,都是什么意思啊,我小白,求白话解释,谢谢了,外带个例子
    <bean id="userAction" class="com.neusoft.gmsbs.gms.user.action.UserAction"
    scope="prototype">
    <property name="userBO" ref="userBO" />
    </bean>
    <bean id="userBO" class="com.neusoft.gmsbs.gms.user.bo.impl.UserBOImpl">
    <property name="userDAO" ref="userDAO" />
    </bean>
    <bean id="userDAO" class="com.neusoft.gmsbs.gms.user.dao.impl.UserDAOImpl">
    <property name="sqlMapClient" ref="sqlMapClient"></property>
    </bean>

    bean就相当于定义一个组件,这个组件是用于具体实现某个功能的。这里的所定义的bean就相当于给了你一个简洁方便的方法来调用这个组件实现你要完成的功能。
    对于我们的spring最主要的应该就是由这些bean组成的bean工厂,每个bean实现一个功能
    例如:你写的第一个bean
    <bean id="userAction" class="com.neusoft.gmsbs.gms.user.action.UserAction"
    scope="prototype">
    <property name="userBO" ref="userBO" />
    </bean>
    id相当于定义了你的这个bean的别名,如果你需要他的话只要关联这个别名就可以了,也就相当于下面的<property name="userBO" ref="userBO" />一样,在你的userAction中需要实现userBO这个功能,我关联它,那么在action中set注入就可以使用了!
    至于其他的属性看下面:
    Id : 标识该bean的名称,通过factory.getBean(“id”)来获得实例。
    Class : 该bean的类路径。
    Singleton : 默认为true,即单实例模式,每次getBean(“id”)时获取的都是同
    一个实例,如果设置为false,即原型模式,则每次获取的是新创建
    的实例。
    Init-method : 在bean实例化后要调用的方法(bean里定义好的方法)。
    Destroy-method : bean从容器里删除之前要调用的方法。
    Autowire : 其属性要通过何种方法进行属性的自动装配。
    对于上述的各个属性,id和class是必要的,其他的则可以省略。例如如果设置了autowire的值,则表明需要自动装配,否则是手动装配。

    bean配置有三种方法:

    • 基于xml配置Bean
    • 使用注解定义Bean
    • 基于java类提供Bean定义信息

    3 spring 注解

    spring 注解可以减少xml配置;
      注释配置相对于 XML 配置具有很多的优势:
      它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务属性映射信息——因为这些信息都可以通过 Java 反射机制获取。
      注释和 Java 代码位于一个文件中,而 XML 配置采用独立的配置文件,大多数配置信息在程序开发完成后都不会调整,如果配置信息和 Java 代码放在一起,有助于增强程序的内聚性。而采用独立的 XML 配置文件,程序员在编写一个功能时,往往需要在程序文件和配置文件中不停切换,这种思维上的不连贯会降低开发效率。

    Spring的特色是IoC容器,管理很多Bean,要求这些Bean都配置在applicationContext.xml文件中。 用了注解之后,就不需要在xml文件中配置了,Spring提供了几个辅助类会自动扫描和装配这些Bean。 所以,使用注解能大大减少xml文件的体积。

    http://www.cnblogs.com/xiaoxi/p/5850095.html

  • 相关阅读:
    【BZOJ4915】简单的数字题(数学)
    【BZOJ2140】稳定婚姻(匈牙利算法板子题)
    【BZOJ2739】最远点(决策单调性)
    【AT3526】[ARC082C] ConvexScore(贡献转化+容斥)
    【CF1264D2】Beautiful Bracket Sequence(组合数学)
    【洛谷2561】[AHOI2002] 黑白瓷砖(Polya定理)
    【洛谷3511】[POI2010] MOS-Bridges(混合图欧拉回路)
    【洛谷4226】避难所(构造)
    【洛谷7453】[THUSCH2017] 大魔法师(线段树+矩乘)
    【洛谷3207】[HNOI2010] 物品调度(置换问题)
  • 原文地址:https://www.cnblogs.com/xiaodangshan/p/9302509.html
Copyright © 2011-2022 走看看