Java基础知识——SSM项目架构

本文详细介绍了Java中Spring整合Mybatis的过程,包括数据源配置、SqlSessionFactory、MapperScannerConfigurer的作用,并讨论了在Maven项目中如何处理mapper.xml文件的打包问题。此外,还阐述了Spring与SpringMVC的整合,以及web应用的目录结构和编译后的变化。重点关注了数据库配置的差异,以及SpringMVC配置中的视图解析器和注解扫描。
摘要由CSDN通过智能技术生成

Spring整合mybatis:
整合目的:不需要繁琐的创建SqlSessionFactory等,而只需要能够将DAO代理对象注入到Service对象调用方法即可。
所以我们需要:编写spring-mybatis配置类
三个作用:
1:dataSource 配置数据源
2:sqlSessionFactory配置工厂,加载数据源
3:配置MapperScannerConfigurer
MapperScannerConfigurer类似于component-scan,能够扫描Component等进行注入,但是区别在于,他会将扫描的接口全部创建为MapperFactoryBean。
MapperFactoryBean会结合SqlSessionFactory创建代理类并且实现UserMapper 接口,从而能够进行数据库操作
注入和代理

注意:如果是无配置文件的实现方式,可以直接利用MapperScannerConfigurer扫描

@Repository
public interface ProjectDao {
	/**获取所有项目信息*/
	@Select("select * from tms_projects")
	List<Project> findObjects();

而如果是配置文件型,两种方法
1:MapperScannerConfigurer扫描:配置文件和@Repository接口在同一包下且名字必须相同
2:需要在sqlSessionFactory进行配置,利用Factory扫描配置类

<property name="mapperLocations" >
				<list>
		<value>classpath:cn/tedu/ttms/*/dao/*.xml</value>	
				</list>
			</property>

并且,如果使用maven,会默认忽视所有xml文件,所以还需要在pom.xml中配置

<build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
    </build>				

原理:
WEB-INF/classes:java,resources里的源码打包进入和编译后的class文件
原来方式:但是仅仅会打包Java下的.java文件和resources里的所有文件,而.xml等文件会自动忽略。
目的:有时候,比如mybatis的mapper.xml文件,我们习惯把它和Mapper.java放一起,都在src/main/java下面,这样利用maven打包时,就需要修改pom.xml文件,来把mapper.xml文件一起打包进jar或者war里了,否则,这些文件不会被打包的。设置如上
注意点:
1:如果build中设置了打包方式,那么原来方式就

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值