JAVA配置文件之applicationContext.xml
来源:互联网 发布:知乎日报 吐槽精选 编辑:程序博客网 时间:2024/05/01 11:10
applicationContext.xml是spring的配置文件
1. component-scan
Spring 容器初始化的时候,会扫描 com.application.business/ domain/ job下标有 (@Component,@Service,@Controller,@Repository) 注解的类纳入spring容器管理。
<context:component-scan base-package="com.application.business, com.application.domain, com.application.job"/>
在类上 ,使用以下注解,实现bean 的声明
@Service 用于标注业务层组件
@Controller 用于标注控制层组件(如srping mvc的controller,struts中的action)
@Repository 用于标注数据访问组件,即DAO组件
@Component 泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
在类的成员变量上,使用以下注解,实现属性的自动装配
@Autowired : 按类 的 类型进行装配
@Resource (推荐) :
1 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常
2. 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常
3.如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常
4.如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;
5.Resource注解在字段上,这样就不用写setter方法了,并且这个注解是属于J2EE的,减少了与spring的耦合。
2. createDataSource
com.db.DataSourceFactory引入了一个jar包,其中定义了在本地的datasource.xml中查找db的配置信息,通过name=userDB_W进行查找。
<bean id="userDataSource" class="com.db.DataSourceFactory" factory-method="createDataSource"> <constructor-arg value="userDB_W"/></bean>
dataSource为数据源,db
configLocation为MyBatis 的 XML 配置文件路径,这个db里面的所有表。
mapperLocations用于指明一组XML Mapper文件位置。
从mapper和数据源,得到对应的一堆sql session。
<bean id="userSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="userDataSource"/> <property name="configLocation" value="classpath:META-INF/myBatis/mybatis-config-usermapper.xml"/></bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="annotationClass" value="org.springframework.stereotype.Repository"/> <property name="basePackage" value="com.user.persistence.userdb.shard01"/> <property name="sqlSessionFactoryBeanName" value="userSqlSessionFactory"/></bean>
annotationClass 属性指定了要寻找的注解名称为Repository。basePackage属性指定了要寻找的包地址,在这个包里面寻找注解名称为Repository的mapper接口。sqlSessionFactoryBeanName属性设置正确的bean名称,如果使用一个以上的 DataSource,自动装配可能会失效。这种情况下,使用sqlSessionFactoryBeanName或sqlSessionTemplateBeanName属性来指定。
com.user.persistence.userdb.shard01目录下的UserDb01Mapper接口:
@Repository
public interface UserDb01Mapper {。。。}
com.user.persistence.userdb.shard01中存在的UserDb01Mapper用sql session建立连接到dataSource,注入到容器中。
5. DataSourceTransactionManager在事务处理期间,一个单独的 SqlSession 对象将会被创建 和使用。当事务完成时,这个 session 会以合适的方式提交或回滚。<bean id="userTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <qualifier value="transactionManager"/> <property name="dataSource" ref="userDataSource"/></bean>@Transactional 注解和 AOP(Aspect-Oriented Program,面向切面编程)样式的配置都是支持的。一旦事务创建之后,MyBatis-Spring 将会透明的管理事务。在你的 DAO 类中就不需要额 外的代码了。
- JAVA配置文件之applicationContext.xml
- SSH配置文件之applicationContext.xml
- SpringMVC之ApplicationContext.xml配置文件解析
- SSM整合之applicationContext.XML配置文件详解
- SSM整合之applicationContext.XML配置文件详解
- java spring配置文件applicationcontext.xml的使用
- applicationContext.xml的配置文件
- glxy配置文件 applicationcontext.xml
- applicationContext.xml的配置文件
- applicationcontext.xml配置文件1
- spring配置文件applicationContext.xml
- ApplicationContext.xml配置文件
- applicationContext.xml配置文件详解
- SpringIOC配置文件applicationContext.xml
- SpringAOP配置文件applicationContext.xml
- spring配置文件 applicationContext.xml
- Spring配置文件-applicationContext.xml
- applicationContext.xml配置文件讲解
- 155 Which three statements are true about windows? (Choose three.) A. Only one window can be open at
- 使用ZeroClipboard 复制内容到剪贴板
- 一致性哈希算法
- c++学习笔记(2)
- Ubuntu安装软件提示"需要安装不能信任的软件包"
- JAVA配置文件之applicationContext.xml
- 2015广工新生赛 Problem A: GG和女神
- Proguard 部分类不混淆的技巧
- JS event使用方法详解
- 初识MariaDB存储引擎
- 156 Identify the persistent configuration setting for the target database that can be set for the ba
- 滑雪
- python+stomp+activemq
- 技术类博客网站推荐