Spring学习总结(入门)

Spring学习总结(入门)

.xml文件里面放置的是装配的bean
这里是配置Spring的地方,很简单的一点就是使用bean来创建对象.bean里面可以嵌套bean
大概梳理一下脉络就是在主类里面创建了一个userservice对象,这个对象是通过spring,建立的,在test.xml里面,userservive对象指向的是 UserDAO的实现类
这样在建立UserService的时候就会连带的把UserDAO的实现类一起实例化,实例化之后,通过userservice的bean的property即setUserDAO方法.
将这个实例化的类set成功,完成了自动装配

scope属性:生命周期
scope属性的内容其实比较简单,就那么几个类,新连接一个bean的时候可能会重新建立一个,也可能会一直用同一个

autowire属性:自动装配
主要使用byNamebyType两种属性
自动装配 autowire,主要有两种属性,byName,byType…
byName是在UserService里面寻找属性值,比如说这里userService里面有getUserDAO这个方法,那么就开始在test.xml里面寻找这个nameUserDAO的bean,找到则装配…
byType是根据类型来装配,也就是说在主bean UserService里面有getDAO1getDAO2两个属性值,那么就会在xml文件里里面寻找class=XXX.getDAO1/getDAO1的子类.并且自动装配.
byName比较好理解,只要名字起的和要装配的属性一样就完事了.
byType我的理解是根据类来装配,但是这样装配会出现一个问题(看马士兵视频学习时候知道的),如果在xml文件里有两个getDAO1/getDAO1的子类的bean,就会出现找不到具体的类的问题…

   ```
   
    
    
    
    
            
    

   ```

Spring有两种方式比如上面的常见的xml格式.还有下面的这个annotation格式.



   
   
   
   


意思就是用注解来做呗…

@Autowired
一般写在set方法上,可以自动装配,默认byType,使用 @Qualifier(name)来指定byName.
@Resource
按照名字来寻找,找不到才按类型,可以用Resource(name = ‘’)
@compponent(“name”)
在要调用的类上头写,表示为组件.
xml里写 表示在这个包里面搜索组件
@pre和@post标签
创建之后毁灭之前和 xml的初始化和结束方法标签一致

你可能感兴趣的:(java,spring)