ssm+vue 2.整合ssm的各种配置文件
1.applicationContext.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | <?xml version= "1.0" encoding= "UTF-8" ?> <beans xmlns= "http://www.springframework.org/schema/beans" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns:aop= "http://www.springframework.org/schema/aop" xmlns:tx= "http://www.springframework.org/schema/tx" xmlns:context= "http://www.springframework.org/schema/context" xsi:schemaLocation="http: //www.springframework.org/schema/beans http: //www.springframework.org/schema/beans/spring-beans.xsd http: //www.springframework.org/schema/tx http: //www.springframework.org/schema/tx/spring-tx.xsd http: //www.springframework.org/schema/aop http: //www.springframework.org/schema/aop/spring-aop.xsd http: //www.springframework.org/schema/context http: //www.springframework.org/schema/context/spring-context.xsd"> <!-- 开启注解扫描,因为spring和springMVC是父子容器,但是它们有各自独立性,这里排除Controller层, 如果不排除,都全部扫描,就可能会出现Controller的方法无法拦截、Bean被多次加载等问题;--> <context:component-scan base -package= "com.cqie" > <context:exclude-filter type= "annotation" expression= "org.springframework.stereotype.Controller" /> <context:exclude-filter type= "annotation" expression= "org.springframework.web.bind.annotation.RestController" /> </context:component-scan> <!--spring整合mybatis--> <context:property-placeholder location= "classpath:db.properties" ></context:property-placeholder> <!--配置连接池--> <bean id= "datSource" class = "com.mchange.v2.c3p0.ComboPooledDataSource" > <property name= "driverClass" value= "${jdbc.driver}" ></property> <property name= "jdbcUrl" value= "${jdbc.url}" ></property> <property name= "user" value= "${jdbc.userName}" ></property> <property name= "password" value= "${jdbc.password}" ></property> <property name= "initialPoolSize" value= "${jdbc.c3p0.initialPoolSize}" /> <property name= "maxPoolSize" value= "${jdbc.c3p0.maxPoolSize}" /> <property name= "minPoolSize" value= "${jdbc.c3p0.minPoolSize}" /> <property name= "maxIdleTime" value= "${jdbc.c3p0.maxIdleTime}" /> </bean> <!--配置SqlSessionFactory对象--> <bean id= "sqlSessionFactory" class = "org.mybatis.spring.SqlSessionFactoryBean" > <property name= "dataSource" ref = "datSource" ></property> <property name= "configLocation" value= "classpath:sqlMapConfig.xml" /> <property name= "mapperLocations" value= "classpath:com/cqie/mapper/*.xml" /> <!--配置mybatis分页插件--> <property name= "plugins" > <array> <bean class = "com.github.pagehelper.PageInterceptor" > <property name= "properties" > <props> <prop key= "helperDialect" >mysql</prop> <prop key= "reasonable" > true </prop> </props> </property> </bean> </array> </property> </bean> <!--配置接口所在的包--> <bean id= "mapperScanner" class = "org.mybatis.spring.mapper.MapperScannerConfigurer" > <property name= "basePackage" value= "com.cqie.mapper" /> </bean> <!--配置spring框架声明式事务管理--> <!--配置事务管理器--> <bean id= "transactionManager" class = "org.springframework.jdbc.datasource.DataSourceTransactionManager" > <property name= "dataSource" ref = "datSource" /> </bean> <!--配置事务通知--> <tx:advice id= "txAdvice" transaction-manager= "transactionManager" > <!--事务的属性--> <tx:attributes> <!--SUPPORTS代表支持当前事务,如果当前没有事务,就以非事务方式执行。--> <tx:method name= "query*" propagation= "SUPPORTS" read-only= "true" /> <!--DEFAULT代表以数据库的隔离级别--> <tx:method name= "*" isolation= "DEFAULT" /> </tx:attributes> </tx:advice> <!--配置Aop增强--> <aop:config> <!--配置切入点表达式--> <!--* *..*.*(..) 修饰符(可省略) 返回类型 包.包....包.类.方法.(参数)--> <aop:pointcut id= "pt" expression= "execution(* com.cqie.service.impl.*.*(..))" /> <!--建立事务与切入点之间的关系--> <aop:advisor advice- ref = "txAdvice" pointcut- ref = "pt" /> </aop:config> </beans> |
2.db.properties
jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql: //localhost:3306/ssm_bbms?serverTimezone=GMT%2B8&useSSL=false jdbc.userName=root jdbc.password=123456 jdbc.c3p0.testConnectionOnCheckout= false jdbc.c3p0.testConnectionOnCheckin= true jdbc.c3p0.idleConnectionTestPeriod=3600 jdbc.c3p0.initialPoolSize=10 jdbc.c3p0.minPoolSize=10 jdbc.c3p0.maxPoolSize=50 jdbc.c3p0.maxIdleTime=3600 |
3.log4j.properties
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | log4j.rootLogger=DEBUG,Console,File log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.Target=System. out log4j.appender.Console.layout = org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n log4j.appender.File =org.apache.log4j.RollingFileAppender log4j.appender.File.File = logs/SSM.log log4j.appender.File.MaxFileSize = 10MB log4j.appender.File.Threshold = ALL log4j.appender.File.layout =org.apache.log4j.PatternLayout log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-ddHH\\\:mm\\\:ss}][%c]%m%n log4j.logger.java.sql.ResultSet=DEBUG log4j.logger.java.sql.Connection=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG log4j.appender.stdout.Encoding=UTF-8 |
4.springMVC.xml
<?xml version= "1.0" encoding= "UTF-8" ?> <beans xmlns= "http://www.springframework.org/schema/beans" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns:aop= "http://www.springframework.org/schema/aop" xmlns:context= "http://www.springframework.org/schema/context" xmlns:mvc= "http://www.springframework.org/schema/mvc" xsi:schemaLocation="http: //www.springframework.org/schema/beans http: //www.springframework.org/schema/beans/spring-beans.xsd http: //www.springframework.org/schema/mvc http: //www.springframework.org/schema/mvc/spring-mvc.xsd http: //www.springframework.org/schema/aop http: //www.springframework.org/schema/aop/spring-aop.xsd http: //www.springframework.org/schema/context http: //www.springframework.org/schema/context/spring-context.xsd"> <!--springMVC只扫描controller--> <context:component-scan base -package= "com.cqie.controller" ></context:component-scan> <!--配置日志切面--> <aop:config> <aop:pointcut id= "pt" expression= "execution(*com.cqie.controller)" /> <!--日志切面--> <aop:aspect ref = "sysAccessLogAspect" > <!--前置通知--> <aop:before method= "doBeforce" pointcut- ref = "pt" ></aop:before> <!--后置通知--> <aop:after-returning method= "doAfter" pointcut- ref = "pt" ></aop:after-returning> </aop:aspect> </aop:config> <!--开启springMVC注解支持--> <mvc:annotation-driven></mvc:annotation-driven> </beans> |
5.sqlMapConfig.xml
1 2 3 4 5 6 7 8 9 10 | <?xml version= "1.0" encoding= "UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" > <configuration> <!--别名配置 对model包下的所有起一个别名,默认是它的类名(不分大小写)--> <typeAliases> <package name= "com.cqie.model" /> </typeAliases> </configuration> |
6.web.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <!--设置配置文件路径--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!--解决中文乱码过滤器--> <filter> <filter-name>characterEncodingFilter</filter-name> <filter- class >org.springframework.web.filter.CharacterEncodingFilter</filter- class > <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!--配置spring监听器,默认加载web-inf目录下的applicationContext.xml配置文件--> <listener> <listener- class >org.springframework.web.context.ContextLoaderListener</listener- class > </listener> <!--配置前端控制器--> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet- class >org.springframework.web.servlet.DispatcherServlet</servlet- class > <!--加载springMVC.xml配置文件--> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springMVC.xml</param-value> </init-param> <!--contextLoaderListener监听器初始化完毕后,开始初始化web.xml中配置的Servlet,servlet可以配置多个,加载顺序按照load- on -startup的值,值越小,servlet的优先级越高,就越先被加载--> <load- on -startup>1</load- on -startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端