以下是使用Idea搭建SSM框架的详细教程,包括Spring、Spring MVC和MyBatis三个框架的整合。
环境准备
在开始之前,需要确保以下环境已经准备好:
- JDK 1.8或以上版本
- Maven 3.0或以上版本
- Tomcat 8.0或以上版本
- IntelliJ IDEA 2018或以上版本
创建Maven项目
- 打开IntelliJ IDEA,选择“Create New Project”。
- 在弹出的窗口中选择“Maven”项目类型,并勾选“Create from archetype”选项。
- 在下拉列表中选择“maven-archetype-webapp”。
- 输入项目的GroupId、ArtifactId和Version等信息,然后点击“Next”。
- 在下一步中,选择项目的存储路径和项目名称,然后点击“Finish”按钮。
导入依赖
在pom.xml文件中添加以下依赖:
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.4</version>
</dependency>
<!-- 数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
<!-- Servlet API -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
配置Spring
在src/main/resources目录下创建一个名为“applicationContext.xml”的Spring配置文件,并添加以下内容:
<!-- 配置数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</bean>
<!-- 配置MyBatis -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper"/>
</bean>
在上面的配置中,我们配置了数据源和MyBatis的SqlSessionFactory。同时,我们还配置了MapperScannerConfigurer来扫描Mapper接口。
配置Spring MVC
在src/main/webapp/WEB-INF目录下创建一个名为“springmvc-servlet.xml”的Spring MVC配置文件,并添加以下内容:
<!-- 配置Spring MVC -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- 配置扫描Controller -->
<context:component-scan base-package="com.example.controller"/>
在上面的配置中,我们配置了视图解析器和扫描Controller。
配置web.xml
在src/main/webapp/WEB-INF目录下创建一个名为“web.xml”的web配置文件,并添加以下内容:
<!-- 配置DispatcherServlet -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
在上面的配置中,我们配置了DispatcherServlet,并将其映射到根路径。
创建Controller
在src/main/java目录下创建一个名为“com.example.controller”的包,并在其中创建一个名为“UserController”的类。在该类中添加以下内容:
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public String getUser(@PathVariable("id") int id, Model model) {
User user = userService.getUserById(id);
model.addAttribute("user", user);
return "user";
}
}
在上面的代码中,我们创建了一个名为“UserController”的Controller,并使用@GetMapping注解来处理GET请求。在方法中,我们使用@PathVariable注解来获取路径参数,并使用@Autowired注解来注入UserService。最后,我们将查询到的User对象添加到Model中,并返回“user”视图。
创建Mapper
在src/main/java目录下创建一个名为“com.example.mapper”的包,并在其中创建一个名为“UserMapper”的接口。在该接口中添加以下内容:
public interface UserMapper {
User getUserById(int id);
}
在上面的代码中,我们创建了一个名为“UserMapper”的Mapper接口,并定义了一个名为“getUserById”的方法。
创建Service
在src/main/java目录下创建一个名为“com.example.service”的包,并在其中创建一个名为“UserService”的接口。在该接口中添加以下内容:
public interface UserService {
User getUserById(int id);
}
在上面的代码中,我们创建了一个名为“UserService”的Service接口,并定义了一个名为“getUserById”的方法。
在src/main/java目录下创建一个名为“com.example.service.impl”的包,并在其中创建一个名为“UserServiceImpl”的类。在该类中添加以下内容:
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User getUserById(int id) {
return userMapper.getUserById(id);
}
}
在上面的代码中,我们创建了一个名为“UserServiceImpl”的Service实现类,并使用@Autowired注解来注入UserMapper。在getUserById方法中,我们调用UserMapper的getUserById方法来查询用户信息。
创建JSP视图
在src/main/webapp/WEB-INF/views目录下创建一个名为“user.jsp”的JSP视图,并添加以下内容:
<!DOCTYPE html>
<html>
<head>
<title>User Info</title>
</head>
<body>
<h1>User Info</h1>
<p>ID: ${user.id}</p>
<p>Name: ${user.name}</p>
<p>Age: ${user.age}</p>
</body>
</html>
在上面的代码中,我们创建了一个名为“user.jsp”的JSP视图,并使用EL表达式来显示用户信息。
运行项目
在完成以上步骤后,我们可以启动Tomcat服务器,并访问http://localhost:8080/user/1来查看用户信息。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:教你使用idea搭建ssm详细教程(Spring+Spring Mvc+Mybatis) - Python技术站