我所了解的Spring,mybatis与SpringMVC
1.什么是spring
Spring 是一款目前主流的 Java EE 轻量级开源框架,其目的是用于简化 Java 企业级应用的开发难度和开发周期。在实际开发中,服务器端应用程序通常采用三层体系架构,分别为表现层(controller)、业务逻辑层(service)、持久层(dao)。
Spring 有两个核心部分:控制反转(IOC) 和 面向切面编程(AOP)。
Spring的优势 1)方便解耦,简化开发 Spring 就是一个大工厂,可以将所有对象的创建和依赖关系的维护xml配置或者注解交给 Spring 管理。 2)方便集成各种优秀框架 Spring 不排斥各种优秀的开源框架,其内部提供了对各种优秀框架的直接支持。 3)降低 Java EE API 的使用难度 Spring 对 Java EE 开发中非常难用的一些 API(JDBC)都提供了封装,使这些 API 应用的难度大大降低。 4)方便程序的测试 Spring 支持 JUnit4,可以通过注解(@Test)方便地测试 Spring 程序。 5)AOP 编程的支持 Spring 提供面向切面编程。 6)声明式事务的支持 只需要通过配置就可以完成对事务的管理,而无须手动编程。 使用spring首先要导入相关jar包(这里就不再一一介绍),然后配置spring文件,规范命名为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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
然后可以使用
@Test
public void text(){
ApplicationContext context
= new ClassPathXmlApplicationContext("application.xml");
UserDao userDao = (UserDao) context.getBean("userDao");
List<User> list = userDao.list();
System.out.println(list);
}
获取bean
2.什么是mybatis
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java中的bean对象为数据库中的记录。 mybatis也需要引入jar包和配置文件,配置文件如下:
1.创建Configuration.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
</configuration>
2.在ApplicationContext.xml加入
<context:property-placeholder location="druid.properties"></context:property-placeholder>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="initialSize" value="${jdbc.initialSize}"/>
<property name="maxActive" value="${jdbc.maxActive}"/>
<property name="maxWait" value="${jdbc.maxWait}"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 实例化sqlSessionFactory时需要使用上述配置好的数据源以及SQL映射文件 -->
<property name="dataSource" ref="dataSource" />
<!-- 自动扫描me/gacl/mapping/目录下的所有SQL映射的xml文件, 省掉Configuration.xml里的手工配置
value="classpath:me/gacl/mapping/*.xml"指的是classpath(类路径)下me.gacl.mapping包中的所有xml文件
UserMapper.xml位于me.gacl.mapping包下,这样UserMapper.xml就可以被自动扫描
-->
<property name="mapperLocations" value="classpath:com/first/config/mapper/*.xml" />
</bean>
连接数据库 这里用的是druid数据库连接池,druid.properties的配置如下
jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/bjpowernode
jdbc.username=root
jdbc.password=root
jdbc.initialSize=5
jdbc.maxActive=10
jdbc.maxWait=3000
3.什么是SpringMVC
Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架,本质上相当于 Servlet。在 Spring MVC 框架中,Controller 替换 Servlet 来担负控制器的职责,用于接收请求,调用相应的 Model 进行处理,处理器完成业务处理后返回处理结果。Controller 调用相应的 View 并对处理结果进行视图渲染,最终客户端得到响应信息。 和之前的一样SpringMVC也需要导入jar包和配置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:mvc="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<!-- 自動扫描Spring的注解 注意修改packge对应工程的包 -->
<!-- 注解驱动-->
<mvc:annotation-driven/>
<!-- 扫描包:controller-->
<context:component-scan base-package="com.dayone.controller"/>
</beans>
这样我们就得到一个ssm框架啦! 最近学的很难理解,但是要一步步进步,加油,不止是我,一起进步!
|