第四章、SpringMVC控制器开发详解 二

4.1 核心要点
  1. 接受客户端(client)请求参数 [讲解完毕]
  2. 调用业务对象[讲解]
  3. 页面跳转
4.2 SpringMVC控制器调用业务对象【SSM整合】
4.2.1 核心思路分析

1641195090057-96fc53bc-5745-42f1-aab1-aade17a469a2.png

4.2.2 编码
  • dispatcher.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
<context:component-scan base-package="com.baizhiedu"/>

<mvc:annotation-driven/>

<bean id="resolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--路径-->
<property name="prefix" value="/jsp/"/>
<!--文件类型-->
<property name="suffix" value=".jsp"/>
</bean>

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/suns?useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</bean>

<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="typeAliasesPackage" value="com.baizhiedu.entity"/>
<property name="mapperLocations">
<list>
<value>classpath:com.baizhiedu.mapper/*Mapper.xml</value>
</list>
</property>
</bean>

<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryBean"/>
<property name="basePackage" value="com.baizhiedu.dao"/>
</bean>

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>

<tx:annotation-driven transaction-manager="transactionManager"/>
  • DAO
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 User{
private Integer id;
private String name;
private String password;
set get
}

create table t_user(
id integer primary key auto_increment,
name varchar(12),
password varchar(12)
);


public interface UserDAO {
public void save(User user);
}

<mapper namespace="com.baizhiedu.dao.UserDAO">
<insert id="save" parameterType="User">
insert into t_user (name,password) values (#{name},#{password})
</insert>
</mapper>
  • Service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public interface UserService {
public void register(User user);
}

@Service
@Transactional
public class UserServiceImpl implements UserService {

@Autowired
private UserDAO userDAO;

@Override
public void register(User user) {
userDAO.save(user);
}
}
  • Controller
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@RequestMapping("/user")
public class UserController {

@Autowired
private UserService userService;

@RequestMapping("/addUser")
public String addUser(User user) {

userService.register(user);

return "addUser";
}
}