在IOC中装配Bean-创新互联

一、基于XML的配置

站在用户的角度思考问题,与客户深入沟通,找到高唐网站设计与高唐网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、网站设计、企业官网、英文网站、手机端网站、网站推广、域名与空间、网页空间、企业邮箱。业务覆盖高唐地区。

 采用Schema格式



   
   
   ......
   

Schema在文档根节点中通过xmlns对文档所引用的命名空间进行声明。文档后面的元素可通过命名空间别名加以区分。

二、Bean基本配置

id为这个Bean的名称,通过容器的getBean("car")即可获取对应的Bean,class定义了bean的实现类。

id的命名必须以字母开始,不能以逗号和空格结尾。但是name属性没有限制。

spring不允许有两个id相同的bean,但是可以name相同。返回是返回最后一个。

三、依赖注入

  1. 属性注入:要求bean提供一个默认的构造函数,并有相应的Setter方法。spring是先调用Bean的默认构造函数实例化Bean对象,然后通过反射调用set方法注入属性值。但是spring只会检查是否有对于的set方法,而有没有该属性不关注。

    在xml中


   
   
   

命名规范:xxx属性对于setXxx()方法。变量前两个字母要么都大写要么都小写。

2.构造函数注入



   
      红旗CA72
   
   
      20000
   






   
      红旗CA72
   
   
      中国一汽
   
   
      200
   


   
      红旗CA72
   
   
      中国一汽
   
   
      200
   




   
      John
   
   
      
   
   
      
   

四、注入参数

  1. 字面值:基本数据类型及其封装类、String类都可以采用字面值注入。通过value=""或者方式来注入。作用是让XML解析器把[]内的字符串当成普通文本对待。一般情况下XML会忽略标签内部字符串的前后空格,但是在spring中不会。

  2. 引用其他bean:通过ref元素。或者 bean是同一容器或者父容器中的bean,local只能引用同一配置文件中的bean,parent引用父容器的bean

  3. 内部bean:类似内部类,没有名字不能被外部引用。

  4. null值:这样会被解析成空字符串。这样才是空。

  5. 集合类型属性


   看报
   ×××
   高尔夫
   
   

   看报
   ×××
   高尔夫



   
      
         AM
      
      会见客户
   
   
      
         PM
      
      公司内部会议
   



   john-office@smart.com
   john-life@smart.com



   
      
         看报
         ×××
         高尔夫
      
   


   
      
         爬山
         游泳
      
   

子bean的favorites最后有5个元素。merge="true"是和父bean的同名进行集合属性合并。

五、bean之间的关系

1.继承:子bean继承父bean。重复的会覆盖。

1)父bean:abstract="true"

2)子bean:parent="parbean"

   

      

   


   

2.引用

六、整合多个配置文件

通过将多个配置文件引到一个文件中,进行配置文件集成。

七、Bean的作用域

  1. siglenton作用域:默认情况下,spring的ApplicationContext容器在启动时,会自动实例化所有的sigleton的bean并缓存在容器中。如果不希望提前实例化,可以通过lazy-init="true"来等到使用是才实例化。

  2. prototype作用域:scope="prototype"指定非单例作用域的Bean。

  3. web环境下:在低版本的web,可以使用http请求过滤器进行配置,高版本可以使用http请求监听器来进行配置。

    1)reqest作用域:每次http请求就会调用。

    2)session:横跨整个Session,Session中所有http请求共享一个bean。

    3)glabalSession

  4. 则注入的是动态代理对象。

八、基于注解的配置

  1. 使用注解定义Bean:@Component表示该类为Bean。@Repository:对DAO实现类的标注。

  2. 扫描注解定义的Bean:

    第一步:声明context命名空间

xmlns:context="http://www.springframework.org/schema/context"

 第二部:使用component-scan的base-package属性指定一个需扫描的包。


    
    
    

user-default-filters属性默认是扫描@Repository、@Service 和 @Controlle、@Component 除非设为false。

3.自动装配Bean

  1. @Autowired默认按类型匹配方式来找bean,找不到的时候会报异常,加上@Autowired(reqired=false)就不会抛出异常了。加上@Qualifier注解限定Bean的名称。

  2. 对类方法进行标注:Spring允许对方法入参标注@Qualifier以指定注入Bean的名称。

  3. 延迟注入:@Lazy在属性及目标Bean类上同时标注。

  4. @Resource注解要求提供一个Bean的名称。二者都可以写在字段

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:在IOC中装配Bean-创新互联
标题URL:http://azwzsj.com/article/dppepj.html