spring学习日志之一Bean配置的方式
2016-08-16 17:51
483 查看
基于XML的配置 | 基于注解的配置 | 基于java类的配置 | |
Bean的定义 | 在XML文件中通过<bean> 元素定义Bean如: <bean class=”com.mvc.UserDao”> | 在Bean实现类处通过标注@Compoent 或者衍型类(@Repository,@Service,@Controller)定义Bean | 在标注了@Configuration的Java类中,通过在类方法上标注@Bean定义一个Bean,方法必须提供Bean的实例化逻辑 |
Bean的名称 | 通过<bean>的id或name属性定义:如:<bean id=”userDao” class=”com.mvc.UserDao”> | 通过注解的value属性定义,如@Component(“userDao”),默认名称为小写字母打头的类名 | 通过@Bean的name属性定义,如@Bean(“userDao”),默认名称为方法名 |
Bean的注入 | 通过<property>子元素或通过p命名空间的动态属性,如p:userDao-ref=”userDao”进行注入 | 通过在成员变变更或方法入参处标注@Autowired,按类型匹配自动注入,还可以配合使用@Qualifier按名称匹配方式注入 | 比较灵活,可以通过在方法出通过@Autowired使方法入参绑定Bean,然后在方法中通过代码进行注入,还可以通过调用配置类的@Bean方法进行注入 |
Bean生命过程方法 | 通过<bean>的init-method 和destory-method属性指定Bean实现类的方法名,最多只能指定一个初始化方法和一个销毁方法 | 通过在目标方法上标注@PostConstruct和@PreDestroy注解指定初始化或者销毁方法,可以定义任意多个 | 通过@Bean的initMethod或destoryMethod指定一个初始化或者销毁方法,对于初始化方法来说,你可以直接在方法内部通过代码的方式灵活定义初始化逻辑 |
Bean的作用范围 | 通过<bean>的scope属性指定,如:<bean class=”com.mvc.UserDao” scope=”prototype”> | 通过在类定义处标注@Scope指定,如@Scope(“prototype”) | 通过在Bean方法定义出标注@Scope指定 |
Bean的延迟初始化 | 通过<bean>的lazy-init属性指定,默认为default,继承于<beans>的dafult-lazy-init设置,该值默认为false | 通过在类定义处标注@Lazy指定,如@Lazy | 通过在Bean方法定义处标注@Lazy指定 |
2 ,Bean不同配置方式侧重的场景
基于XML配置 | 基于注解的配置 | 基于Java类的配置 | |
适合场景 | 1) Bean的实现类来源于第三方类库,如DataSource、JdbcTemplate等,因无法在类中标注注解,通过XML配置比较好 2) 命名空间配置,如aop、context等,只能采用基于XML的配置 | Bean的实现类是当前项目开发的,可以直接在Java类中使用基于注解的配置 | 基于Java类配置的优势在于可以通过代码方式控制Bean初始化的整体逻辑,所以如果实例化Bean的逻辑比较复杂,则比较适合用基于Java类配置的方式 |
相关文章推荐
- [原创]java WEB学习笔记102:Spring学习---Spring Bean配置:bean配置方式(工厂方法(静态工厂方法 & 实例工厂方法)、FactoryBean) 全类名
- Spring学习之配置Bean几种不同的方式
- Spring学习(九)使用ioc注解方式配置bean
- spring学习(二)—spring 的bean的实例化方式(通过配置文件)
- Spring4 学习笔记(3)-Spring 基于 XML 的方式配置 Bean(供自己学习)
- Spring学习,Bean不同配置方式比较
- spring学习笔记(12)——使用注解方式配置bean
- Spring4 学习笔记(3)-Spring 基于 XML 的方式配置 Bean
- Spring学习第十一天:通过工厂方式配置Bean
- Spring学习----------Bean配置的三种方式(XML、注解、Java类)介绍与对比
- Spring学习(九)使用ioc注解方式配置bean
- spring中Bean的xml方式配置学习笔记
- spring学习总结(七):IOC & DI 配置Bean之bean的生命周期及bean的配置方式
- spring学习总结(三):IOC & DI 配置 Bean 之配置形式及依赖注入方式
- spring框架的学习(二)——Spring的bean管理(xml配置文件方式)
- Spring学习-06:IOC容器装配Bean(xml配置方式)详解
- Spring学习笔记之配置bean的方式(工厂方法和Factorybean)
- [原创]java WEB学习笔记103:Spring学习---Spring Bean配置:基于注解的方式(基于注解配置bean,基于注解来装配bean的属性)
- Spring学习笔记----注解方式配置bean
- spring学习日志之二Bean的配置的细节和解析