目录
User.javaUserController.javaUserDao.javaUserService.javaIUserService.javaUserMapper.xmlapplicationContext.xmldb.propertiesspring-mvc.xmlapplicationContext.xmlweb.xmlfailure.jspIndex.jspok.jsp
pring
1.控制反转-》控制权的转移
2.依赖注入 DI
3.面向切面 aop
springmvc : servlet
mybatis : jdbc
User.java
package com
.zhongruan
.bean
;
public class User {
public User() {
}
public User(int id
, String username
, String password
) {
this.id
= id
;
this.username
= username
;
this.password
= password
;
}
public User(String username
, String password
) {
this.username
= username
;
this.password
= password
;
}
private int id
;
private String username
;
private String password
;
public int
getId() {
return id
;
}
public void setId(int id
) {
this.id
= id
;
}
public String
getUsername() {
return username
;
}
public void setUsername(String username
) {
this.username
= username
;
}
public String
getPassword() {
return password
;
}
public void setPassword(String password
) {
this.password
= password
;
}
@Override
public String
toString() {
return "User{" +
"id=" + id
+
", username='" + username
+ '\'' +
", password='" + password
+ '\'' +
'}';
}
}
UserController.java
package com
.zhongruan
.controller
;
import com
.zhongruan
.bean
.User
;
import com
.zhongruan
.service
.IUserService
;
import org
.springframework
.beans
.factory
.annotation
.Autowired
;
import org
.springframework
.stereotype
.Controller
;
import org
.springframework
.web
.bind
.annotation
.RequestMapping
;
import org
.springframework
.web
.servlet
.ModelAndView
;
@Controller
@
RequestMapping("/user")
public class UserController {
@Autowired
private IUserService userService
;
@
RequestMapping("/login.do")
public ModelAndView
login(User user
){
boolean flag
= userService
.login(user
.getUsername(), user
.getPassword());
ModelAndView modelAndView
=new ModelAndView();
if(flag
){
modelAndView
.setViewName("../ok");
}else {
modelAndView
.setViewName("../failure");
}
return modelAndView
;
}
}
UserDao.java
package com
.zhongruan
.dao
;
import com
.zhongruan
.bean
.User
;
public interface UserDao {
User
findUserByUserName(String username
);
}
UserService.java
package com
.zhongruan
.service
.impl
;
import com
.zhongruan
.bean
.User
;
import com
.zhongruan
.dao
.UserDao
;
import com
.zhongruan
.service
.IUserService
;
import org
.springframework
.beans
.factory
.annotation
.Autowired
;
import org
.springframework
.stereotype
.Service
;
@Service
public class UserService implements IUserService {
@Autowired
private UserDao userDao
;
@Override
public boolean
login(String username
, String password
) {
User user
= userDao
.findUserByUserName(username
);
if (user
!=null && user
.getPassword().equals(password
)){
return true;
}
return false;
}
}
IUserService.java
package com
.zhongruan
.service
;
public interface IUserService {
boolean
login(String username
, String password
);
}
UserMapper.xml
<?xml version
="1.0" encoding
="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace
="com.zhongruan.dao.UserDao" >
<select id
="findUserByUserName" parameterType
="String" resultType
="user">
select
* from tb_user where username
=#
{username
}
</select
>
</mapper
>
applicationContext.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
:context
="http://www.springframework.org/schema/context"
xmlns
:aop
="http://www.springframework.org/schema/aop"
xmlns
:tx
="http://www.springframework.org/schema/tx"
xsi
:schemaLocation
="http
://www
.springframework
.org
/schema
/beans
http
://www
.springframework
.org
/schema
/beans
/spring
-beans
-4.3.xsd
http
://www
.springframework
.org
/schema
/context
http
://www
.springframework
.org
/schema
/context
/spring
-context
-4.3.xsd
http
://www
.springframework
.org
/schema
/aop
http
://www
.springframework
.org
/schema
/aop
/spring
-aop
-4.3.xsd
http
://www
.springframework
.org
/schema
/tx
http
://www
.springframework
.org
/schema
/tx
/spring
-tx
-4.3.xsd"
>
<!-- 1.配置数据库相关参数properties的属性:$
{url
} -->
<context
:property
-placeholder location
="classpath:db.properties"/>
<!-- 2.配置数据源
-->
<bean id
="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name
="driverClass" value
="${jdbc.driver}"/>
<property name
="jdbcUrl" value
="${jdbc.url}"/>
<property name
="user" value
="${jdbc.username}"/>
<property name
="password" value
="${jdbc.password}"/>
<property name
="maxPoolSize" value
="30"/>
<property name
="minPoolSize" value
="2"/>
</bean
>
<!-- 3.配置SqlSessionFactory对象
-->
<bean id
="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 注入数据库连接池
-->
<property name
="dataSource" ref
="dataSource"/>
<!-- 扫描bean包 使用别名
-->
<property name
="typeAliasesPackage" value
="com.zhongruan.bean"></property
>
<!--配置加载映射文件 UserMapper
.xml
-->
<property name
="mapperLocations" value
="classpath:mapper/*.xml"/>
</bean
>
<!-- 自动生成dao
,mapper
-->
<!-- 4.配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中
-->
<bean
class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 给出需要扫描Dao接口包
-->
<property name
="basePackage" value
="com.zhongruan.dao"/>
<!-- 注入sqlSessionFactory
-->
<property name
="sqlSessionFactoryBeanName" value
="sqlSessionFactory"/>
</bean
>
<!--自动扫描
-->
<context
:component
-scan base
-package="com.zhongruan"/>
<!-- 配置事务
-->
<!-- 5.配置事务管理器
-->
<bean id
="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name
="dataSource" ref
="dataSource"/>
</bean
>
<!-- 6.开启事务注解
-->
<tx
:annotation
-driven
></tx
:annotation
-driven
>
</beans
>
db.properties
jdbc
.driver
=com
.mysql
.jdbc
.Driver
jdbc
.url
=jdbc
:mysql
://localhost
:3306/wzsxy
?useSSL
=true&characterEncoding
=utf
-8
jdbc
.username
=root
jdbc
.password
=123456
spring-mvc.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
:mvc
="http://www.springframework.org/schema/mvc"
xmlns
:context
="http://www.springframework.org/schema/context"
xmlns
:aop
="http://www.springframework.org/schema/aop"
xmlns
:tx
="http://www.springframework.org/schema/tx"
xsi
:schemaLocation
="http
://www
.springframework
.org
/schema
/beans
http
://www
.springframework
.org
/schema
/beans
/spring
-beans
-4.3.xsd
http
://www
.springframework
.org
/schema
/mvc
http
://www
.springframework
.org
/schema
/mvc
/spring
-mvc
-4.3.xsd
http
://www
.springframework
.org
/schema
/context
http
://www
.springframework
.org
/schema
/context
/spring
-context
-4.3.xsd
http
://www
.springframework
.org
/schema
/aop
http
://www
.springframework
.org
/schema
/aop
/spring
-aop
-4.3.xsd
http
://www
.springframework
.org
/schema
/tx
http
://www
.springframework
.org
/schema
/tx
/spring
-tx
-4.3.xsd"
>
<!-- 1.注解扫描位置
-->
<context
:component
-scan base
-package="com.zhongruan.controller" />
<!-- 2.配置映射处理和适配器
-->
<bean
class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<bean
class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
<!-- 3.视图的解析器
-->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name
="prefix" value
="/pages/" />
<property name
="suffix" value
=".jsp" />
</bean
>
</beans
>
applicationContext.xml
var foo
= 'bar';
web.xml
<?xml version
="1.0" encoding
="UTF-8"?>
<web
-app xmlns
:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xmlns
="http://xmlns.jcp.org/xml/ns/javaee"
xsi
:schemaLocation
="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version
="3.1">
<!-- 配置加载类路径的配置文件
-->
<context
-param
>
<param
-name
>contextConfigLocation
</param
-name
>
<param
-value
>classpath
*:applicationContext
.xml
</param
-value
>
</context
-param
>
<!-- 配置监听器
-->
<listener
>
<listener
-class>org
.springframework
.web
.context
.ContextLoaderListener
</listener
-class>
</listener
>
<listener
>
<listener
-class>org
.springframework
.web
.context
.request
.RequestContextListener
</listener
-class>
</listener
>
<!-- 解决中文乱码过滤器
-->
<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
>
failure.jsp
<%@ page contentType
="text/html;charset=UTF-8" language
="java" %>
<html
>
<head
>
<title
>Title
</title
>
</head
>
<body
>
failure
</body
>
</html
>
Index.jsp
<%@ page contentType
="text/html;charset=UTF-8" language
="java" %>
<html
>
<head
>
<title
>$Title$
</title
>
</head
>
<body
>
<form action
="/user/login.do" method
="post">
username
:<input name
="username" type
="text">
password
:<input name
="password" type
="password">
<input type
="submit" value
="login">
</form
>
</body
>
</html
>
ok.jsp
<%@ page contentType
="text/html;charset=UTF-8" language
="java" %>
<html
>
<head
>
<title
>Title
</title
>
</head
>
<body
>
ok
</body
>
</html
>