目录
声明:
SpringMVC:
注解 + XML
注解: @Controller + @RequestMapping
xml: 总控制器 视图解析 开启注解扫描
Spring:
IOC:
全XML
半XML半注解 ★
全注解
AOP:
XML
Mybatis:
核心配置 + sql映射xml
核心配置 + 注解 ★
-----------------------
1.搭建Spring环境 IOC
2.搭建Mybatis环境 核心配置+sql映射xml
3.Spring和Mybatis整合
加入Spring的AOP
4.搭建SpringMVC环境
5.整合SpringMVC和Spring整合
一、搭建环境
1.1、spring环境搭建
maven依赖:
<properties>
<!-- 定义变量 -->
<spring-version>5.0.2.RELEASE</spring-version>
</properties>
<dependencies>
<!-- spring核心jar包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring-version}</version>
</dependency>
<!-- Mybatis jar包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<!-- Spring整合jdbc的jar包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring-version}</version>
</dependency>
<!-- spring和junit的整合坐标 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring-version}</version>
</dependency>
<!-- springmvc的坐标 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring-version}</version>
</dependency>
<!-- mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<!-- spring整合mybatis的坐标 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.0</version>
</dependency>
<!-- aspectJ坐标 切入点表达式-->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.13</version>
</dependency>
<!-- junit的整合坐标 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!-- Servlet的jar包 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<!-- jsp的jar包 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<!-- jstl的jar包-->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- druid jar包 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.13</version>
</dependency>
<!-- c3p0 jar包 -->
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
</dependency>
</dependencies>
数据库:
CREATE TABLE `account2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(40) DEFAULT NULL,
`money` float DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
INSERT INTO `account2` VALUES ('1', 'tom', '1000');
INSERT INTO `account2` VALUES ('2', 'rose', '1000');
INSERT INTO `account2` VALUES ('3', 'jack', '1000');
实体类:
@Data//getting、setting、equals、canEqual、hashCode、toString
@AllArgsConstructor
@NoArgsConstructor
public class Account {
//基本类型int有默认值 可能会干扰代码
private Integer id;
private String name;
private Float money;
}
service:
public interface AccountService {
List<Account> findAll();
}
@Service("accountService")
public class AccountServiceImpl implements AccountService {
@Override
public List<Account> findAll() {
System.out.println("findAll方法被调用");
return null;
}
}
applicationContext.xml配置文件
<