Bean
1.1常用属性:
id :唯一标识,Spring容器通过它对Bean的配置和管理
name:一个Bean可以有多个name,Spring容器通过它对Bean的配置和管理
class:指定Bean的具体实现类,必须要使用完整类名
property:用于setter方法完成属性赋值。
该元素的name属性与类的属性名一致
该元素的value属性用于指定一个常量值
该元素的ref属性用于指定某个Bean实例的引用(指定的值为该Bean的id或者name)
该元素的list,set,map属性用于List,Set,Map的注入
1.2bean的实例化
方式有三种 构造器实例化,静态工厂方式实例化,实例工厂实例化
常用的Bean实例化方法为构造器实例化
xml配置
<bean id="" class="">
</bean>
获取Bean实例的代码
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
A a = context.getBean(A.class) ;
1.3Bean的作用域
常用的两种
singleton,spring容器对任何对某个Bean的请求,只返回一个共享的Bean实例,适用于Dao组件和Service组件等无会话状态
prototype,Spring容器对任何对某个Bean的请求,都会创建一个新的实例名,适用于需要保持会话状态的Bean
1.4Bean的装配
1.4.1xml装配中最常用的装配为设值注入
例如
<bean id=”’ class=””>
<property name=”” value=””/>
<bean/>
1.4.2基于Anootation的装配
需要配合注解处理器完成
@Component/@Repository@service@Controller
用于标记类,类似在XML配置文件中编写<bean id=”’ class=””>
@Autowired
用于对类的属性和方法进行自动装配
1.5Annotation方式的声明式事务:使用简单
在spring中配置事务管理器,需要注入数据源
<bean id=”transactionManager”
class=”org.springframework.jdbc.datasource.DataSourceTransactionManager”>
<property name=”dataSource” ref=”dataSource”/>
</bean>
注册事务注解驱动
<tx:annotation-driven transaction-manager=”transactionManager” />
在需要使用的SpringBean类或Bean类的方法上添加注解@Transactionl
个人感悟:学习新的东西,要多从实际角度出发,学会区分主次内容,注重主要和实用的内容,次要内容可先有个大概印象,等有空闲时间再了解。