SSM框架 applicationContext,Mybatis,SpringMVC配置文件简单介绍
Posted on 2022-01-14 17:27 鸽子宁 阅读(113) 评论(0) 编辑 收藏 举报在校期间自己做的整理笔记,有什么错误的地方欢迎指正
<context:-scan base-package="com.accp.dao,com.accp.service"/>
作用:扫描路径下所有的类包括子包下的类 扫描会去寻找类中的注解并放入spring自己的容器当中
如果没有配置组件扫描器 简单来说就是你写了spring注解的类要想能够使用 就得配置扫描器否则 @Component标记的类不会扫描放入容器中 @Autowired也无法自动注入等... 一般情况下扫描dao包 service包
2,事务注解支持
<tx:annotation-driven/>
作用:支持@Transactional事务注解 标记的类能够自动提交事务 没有tx:annotation-driven/@Transactional就不会自动提交事务 一般标记serviceImpl类
3,jdbc
导入外部资源文件 作用:导入jdbc.properties 数据库的资源文件 实现数据库配置分离更方便管理 更改 替换
<context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="username" value="${user}"></property>
<property name="password" value="${pwd}"></property>
<property name="driverClassName" value="${driverName}"></property>
<property name="url" value="${url}"></property>
</bean>
<--jdbc.properties资源文件-->
driverName = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/myshool?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
user=root
pwd=
4,会话工厂
spring和mybatis整合 托付给spring统一管理
dataSource数据来源 ref:jdbc数据库配置自定义的id
configLocation配置的文件位置 value:mybatis文件的classpath的路径
mapperLocations配置mapper文件下以mapper开头xml结尾的文件
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis-config.xml" />
<property name="mapperLocations">
<list>
<value>hclasspath:mapper/*.xml</value>
</list>
</property>
</bean>
5,basePackage 作用:批量管理 代理对象 接口类,MapperScannerConfigurer会把value属性的路径下所有的接口全部执行一次getMapper()方法得到所有接口的dao对象并放入spring容器当中 dao对象的默认名是接口名小写
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.accp.dao"></property>
</bean>
6,事务管理器 作用:实现事务的处理 配合@Transactional事务注解使用 @Transactional默认值是transactionManager对应管理器的id值 dataSource:ref为数据源的id值 配置好事务管理器就可以使用@Transactional注解完成事务的回滚 提交等功能
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- 配置数据源 -->
<property name="dataSource" ref="dataSource"></property>
</bean>
-------------------------------------------------------Mybatis----------------------------------------------------------
1,日志
主要的设置<setting name="logImpl" value="日志输出的类型" />
<settings>
<!-- 显示运行日志 -->
<!-- LOG4J -->
<setting name="logImpl" value="STDOUT_LOGGING" />
<!--<setting name="logImpl" value="LOG4J" />-->
<!--打开延迟加载的开关 -->
<!--<setting name="lazyLoadingEnabled" value="true" />-->
<!-- 设置关联对象加载的形态,此处为按需加载字段(加载字段由SQL指 定),不会加载关联表的所有字段,以提高性能 -->
<!--<setting name="aggressiveLazyLoading" value="false" />-->
<setting name="autoMappingBehavior" value="FULL"/>
</settings>
2,别名扩展
声明实体类的包路径 声明包下所有的类并以类名首字母小写创建
作用:mapper sql文件的resultType属性就不用再写全限定名称
<typeAliases>
<package name="com.accp.entity"/>
</typeAliases>
------------------------------------SpringMVC------------------------------------------------
1,扫描器
作用:跟spring的组件扫描器基本一致,扫描包下所有的类包括子类中标记了@controller注解的类,不同的是他会把标记的类当做controller控制器类并且放入springMVC自己的容器当中
<context:component-scan base-package="com.accp.controller"/>
2,注解驱动
自动注册一些bean主要有以下三个 需要注意不要重复配置了<mvc:annotation-driven /> 下的bean否则程序启动时会重复扫描出现异常报错
HandlerMappings (映射器们) HandlerAdapters (适配器们) HandlerExceptionResolvers (异常处理解析器们)
@RequestMapping注解 jsp数据的接收 URL路径映射到控制器 类型转换 异常处理...都会使用到<mvc:annotation-driven />配置注册的bean
详细见:https://www.cnblogs.com/afeng2010/p/10133797.html
<mvc:annotation-driven />
3,处理静态资源
捕获WEB容器的所有请求SpringMVC将捕获WEB容器的所有请求,包括静态资源的请求,SpringMVC 会将他们当成一个普通请求处理,因找不到对应处理器将导致错误,所以需要配置<mvc:default-servlet-handler/>通常都与<mvc:annotation-driven />一起配置
<mvc:default-servlet-handler/>
4,配置视图解析器
帮助设置视图文件的路径 prefix:视图文件路径 suffix:视图扩展名
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="/WEB-INF/jsp/"></property>
<!-- 后缀 -->
<property name="suffix" value=".jsp"></property>
</bean>
写的比较简单,大佬们轻点喷
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性