环境要求
1. 引入依赖
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
| <project> <properties> <spring.version>6.0.9</spring.version> <mysql.version>8.0.33</mysql.version> <mybatis.version>3.5.13</mybatis.version> <mybatis.spring.version>3.0.2</mybatis.spring.version> <druid.version>1.2.18</druid.version> </properties>
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency>
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency>
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency>
<dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>${mysql.version}</version> </dependency>
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency>
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>${mybatis.spring.version}</version> </dependency>
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency>
<dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>6.0.0</version> </dependency> </dependencies> </project>
|
2. 创建相关配置文件
2.1 数据库
2.1.1 数据库链接信息
在resource文件夹里新建jdbc.properties文件
1 2 3 4
| jdbc.driverClassName=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/health?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai jdbc.username=root jdbc.password=123456
|
2.1.2 JdbcConfig.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| public class JdbcConfig { @Value("${jdbc.driverClassName}") private String driverClassName;
@Value("${jdbc.url}") private String url;
@Value("${jdbc.username}") private String username;
@Value("${jdbc.password}") private String password;
@Bean public DataSource dataSource() { DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(driverClassName); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); return dataSource; } }
|
2.2 Mybatis配置文件
创建MybatisConfig.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public class MyBatisConfig { @Bean public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) { SqlSessionFactoryBean factory = new SqlSessionFactoryBean(); factory.setDataSource(dataSource); factory.setTypeAliasesPackage("club.summerain0.health.entity"); return factory; }
@Bean public MapperScannerConfigurer mapperScannerConfigurer() { MapperScannerConfigurer configurer = new MapperScannerConfigurer(); configurer.setBasePackage("club.summerain0.health.mapper"); return configurer; } }
|
2.3 添加SpringMVC的配置文件
创建SpringMvcConfig.java
1 2 3 4 5 6
| @Configuration @ComponentScan("club.summerain0.health.controller") @EnableWebMvc public class SpringMvcConfig { }
|
2.4 添加Spring配置文件
创建SpringConfig.java
1 2 3 4 5 6 7
| @Configuration @ComponentScan("club.summerain0.health.service") @PropertySource("classpath:jdbc.properties") @Import({JdbcConfig.class, MyBatisConfig.class}) public class SpringConfig { }
|
3. 配置容器启动配置
创建ServletConfig.java,继承WebApplicationInitializer的子类在启动的时候被Tomcat自动调用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| 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[]{"/"}; } }
|
自此,一个最基本的SSM项目配置完毕。