ssm整合中需要使用的依赖jar包与包含的配置类

ssm整合中需要使用的依赖jar包与包含的配置类

2023-09-09

注意,注意,一定要注意,mybatis的jar包与mybatis-spring的jar包的版本,一定要看这两个jar包的版本下面是与java8匹配的版本

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

4.0.0

org.example

SSMIntegration

war

1.0-SNAPSHOT

SSMIntegration Maven Webapp

http://maven.apache.org

org.mybatis

mybatis

3.5.13

com.alibaba

druid

1.2.16

mysql

mysql-connector-java

8.0.26

org.springframework

spring-context

5.2.11.RELEASE

org.springframework

spring-jdbc

5.2.11.RELEASE

org.springframework

spring-test

5.2.11.RELEASE

org.mybatis

mybatis

3.5.6

org.mybatis

mybatis-spring

1.3.0

javax.servlet

javax.servlet-api

3.1.0

provided

org.springframework

spring-webmvc

5.2.11.RELEASE

com.fasterxml.jackson.core

jackson-databind

2.15.2

junit

junit

4.13.1

test

org.apache.tomcat.maven

tomcat7-maven-plugin

2.2

JdbcConfig

package com.hh.config;

import com.alibaba.druid.pool.DruidDataSource;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.context.annotation.Bean;

import org.springframework.jdbc.datasource.DataSourceTransactionManager;

import org.springframework.transaction.PlatformTransactionManager;

import javax.sql.DataSource;

/**

* @author hh

* @version 1.0

* @DATE 2023-09-08 20:39:35

*/

public class JdbcConfig {

@Value("${jdbc.driverClassName}")

private String driver;

@Value("${jdbc.url}")

private String url;

@Value("${jdbc.username}")

private String username;

@Value("${jdbc.password}")

private String password;

@Bean

public DataSource dataSource(){

DruidDataSource druidDataSource = new DruidDataSource();

druidDataSource.setDriverClassName(driver);

druidDataSource.setUrl(url);

druidDataSource.setUsername(username);

druidDataSource.setPassword(password);

return druidDataSource;

}

@Bean

public PlatformTransactionManager platformTransactionManager(DataSource dataSource){

DataSourceTransactionManager ds = new DataSourceTransactionManager();

ds.setDataSource(dataSource);

return ds;

}

}

MybatisConfig

package com.hh.config;

import org.mybatis.spring.SqlSessionFactoryBean;

import org.mybatis.spring.mapper.MapperScannerConfigurer;

import org.springframework.context.annotation.Bean;

import javax.sql.DataSource;

/**

* @author hh

* @version 1.0

* @DATE 2023-09-08 20:43:15

*/

public class MybatisConfig {

@Bean

public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource){

SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();

sqlSessionFactoryBean.setTypeAliasesPackage("com.hh.domain");

sqlSessionFactoryBean.setDataSource(dataSource);

return sqlSessionFactoryBean;

}

@Bean

public MapperScannerConfigurer mapperScannerConfigurer(){

MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();

mapperScannerConfigurer.setBasePackage("com.hh.dao");

return mapperScannerConfigurer;

}

}

ServletConfig

package com.hh.config;

import org.springframework.web.filter.CharacterEncodingFilter;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

import javax.servlet.Filter;

/**

* @author hh

* @version 1.0

* @DATE 2023-09-08 20:46:39

*/

public class ServletConfig extends AbstractAnnotationConfigDispatcherServletInitializer {

@Override

protected Class[] getRootConfigClasses() {

return new Class[]{

SpringConfig.class

};

}

@Override

protected Class[] getServletConfigClasses() {

return new Class[]{

SpringMvcConfig.class

};

}

@Override

protected String[] getServletMappings() {

return new String[]{"/"};

}

//乱码处理

@Override

protected Filter[] getServletFilters() {

CharacterEncodingFilter filter = new CharacterEncodingFilter();

filter.setEncoding("utf-8");

return new Filter[]{filter};

}

}

SpringConfig

package com.hh.config;

import org.springframework.context.annotation.ComponentScan;

import org.springframework.context.annotation.Configuration;

import org.springframework.context.annotation.Import;

import org.springframework.context.annotation.PropertySource;

/**

* @author hh

* @version 1.0

* @DATE 2023-09-08 20:39:00

*/

@Configuration

@ComponentScan("com.hh.service")

@PropertySource("classpath:jdbc.properties")

@Import({JdbcConfig.class,MybatisConfig.class})

public class SpringConfig {

}

SpringMvcConfig

注意注意@PropertySource

一定要加上classpath:

如果单独加

"jdbc.properties"的话,会报找不到找不到

jdbc.properties的错误

package com.hh.config;

import org.springframework.context.annotation.ComponentScan;

import org.springframework.context.annotation.Configuration;

import org.springframework.context.annotation.Import;

import org.springframework.context.annotation.PropertySource;

/**

* @author hh

* @version 1.0

* @DATE 2023-09-08 20:39:00

*/

@Configuration

@ComponentScan({"com.hh.controller","com.hh.config"})

@PropertySource("classpath:jdbc.properties")@Import({JdbcConfig.class,MybatisConfig.class}) public class SpringConfig { }

SpringMvcConfigSupport

package com.hh.config;

import org.springframework.context.annotation.Configuration;

import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;

import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

/**

* @author hh

* @version 1.0

* @DATE 2023-09-09 9:57:14

*/

@Configuration

public class SpringMvcConfigSupport extends WebMvcConfigurationSupport {

@Override

protected void addResourceHandlers(ResourceHandlerRegistry registry) {

registry.addResourceHandler("/pages/**").addResourceLocations("/pages/");

registry.addResourceHandler("/js/**").addResourceLocations("/js/");

registry.addResourceHandler("/css/**").addResourceLocations("/css/");

registry.addResourceHandler("/plugins/**").addResourceLocations("/plugins/");

}

}

相关文章

心脏颤抖是怎么回事
365bet亚洲官网

心脏颤抖是怎么回事

🕒 11-09 👁️ 9746
奥维新品 | 突破传统广告困局,奥维AI投手重塑抖音投流生态
古代为什么要把男宠叫“面首”?
365bet亚洲官网

古代为什么要把男宠叫“面首”?

🕒 08-04 👁️ 9120
四舍五入计算器
best365中国官网

四舍五入计算器

🕒 01-11 👁️ 3779
环球广贸贸易通有哪些公司在做啊? 询盘量以及询盘回复率如何?
国足12强赛最新赛程对阵时间表 附国足12强赛分组结果(完整版)