Spring学习
Spring注入对象
修改applicationContext.xml
<bean name="c" class="com.bp.pojo.Category">
<property name="name" value="category 1" />
<property name="id" value="201314"/>
</bean>
<bean name="p" class="com.bp.pojo.Product">
<property name="name" value="BlackPink"/>
<property name="Category" ref="c"/>
</bean>
<context:annotation-config/>
提示Spring使用注解,使用后去掉这一行<property name="Category" ref="c"/>
<bean name="c" class="com.bp.pojo.Category">
<property name="name" value="category 1" />
<property name="id" value="201314"/>
</bean>
<bean name="p" class="com.bp.pojo.Product">
<property name="name" value="BlackPink"/>
</bean>
实体类中
@Autowired
private Category category;
或
@Autowired
public void setCategory(Category category) {
this.category = category;
}
<context:component-scan base-package="com.bp.pojo"/>
其作用是告诉Spring,bean都放在com.bp.pojo这个包下
以上全部删掉
实体类
@Component("c")
public class Category
@Component("p")
public class Product
@Autowired依旧放在上部位置
Spring支持7中事务传播行为
1.PROPAGATION_REQUIRED(默认实现):当前没有事务则新建事务,有则加入当前事务
2.PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务则以非事务方式执行
3.PROPAGATION_MANDATORY:使用当前事务,如果没有则抛出异常
4.PROPAGATION__REQUIRES_NEW:新建事务,如果当前有事务则把当前事务挂起
5.PROPAGATION_NOT_SUPPORIED:以非事务的方式执行,如果当前有事务则把当前事务挂起
6.PROPAGATION_NEVER:以非事务的方式执行,如果当前有事务则抛出异常
7.PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行,如果当前没有事务,则执行1