Springmvc
2020-12-03 16:52:48 0 举报
AI智能生成
SSM
作者其他创作
大纲/内容
Spring
Spring IoC(控制反转)
基本概念
Spring框架的核心
用来消减计算机程序的耦合问题
控制权由调用者转移到Spring容器
容器
BeanFactory
由org.springframework.beans.factory.BeanFactory接口定义
管理Bean的工厂,初始化各种Bean
常用实现类org.springframework.beans.factory.xml.XmlBeanFactory,根据xml配置文件中的定义装配Bean
ApplicationContext
是BeanFactory的子接口
由org.springframework.context.AoolicationContext接口定义
除了包含所有BeanFactory的所有功能,还添加了对国际化、资源访问、时间传播等内容的支持
创建ApplicationContext接口的3种方法
ClassPathXmlApplicationContext
FileSystemXmlApplicationContext
web服务器实例化ApplicaContext
子主题
依赖注入的类型
使用构造方法注入
<constructor-arg index="0" ref="myTestDIDao"/>
使用属性的setter方法注入
<property name="testDIDao" ref="myTestDIDao"/>
Spring Bean
配置
实例化
构造方法实例化
<bean id="constructorInstance" class=""/>
静态工厂实例化
<bean id="staticFactoryInstance" class="" factory-method="createInstance"/>
实例工厂实例化
<bean id="instanceFactoryInstance" factory-bean="myFactory" factory-method="createBeanClassInstance"/
作用域
singleton作用域
<bean id="constructorInstance" class=""/>
<bean id="constructorInstance" class="" scope="singleton"/>
prototype作用域
<bean id="constructorInstance" class="" scope="prototype"/>
生命周期
装配方式
@Component
仅仅表示一个组件对象,可以作用于任何层次上
@Repository
注解数据访问层Bean
@Service
标注一个业务逻辑组件类(Service层)
@Controller
标注一个控制器组件类(Spring MVC的Controller)
@Autowired
对类成员变量、方法及构造方法进行标注,完成自动装配的工作。按照Bean类型进行装配。
@Resource
对类成员变量、方法及构造方法进行标注,完成自动装配的工作。按照名称来装配注入
@Qualifier
与@Autowired注解配合使用
MyBatis
映射文件com.mybatis.mapper.Usermapper.xml
<mapper namespace="com.mybatis.mapper.UserMapper">
配置文件mybatis-config.xml
<!-- 连接数据库的URL -->
<property name="url" value="jdbc:mysql://localhost:3306/springtest?characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="110247"/>
<property name="url" value="jdbc:mysql://localhost:3306/springtest?characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="110247"/>
MyBatis+Spring
applicationContext_SpringMybatis.xml
<property name="basePackage" value="com.ie.dao"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
UserMapper.xml
<mapper namespace="com.ie.dao.UserDao">
映射器
核心配置文件
找映射文件
<mapper resource="com/mybatis/UserMapper.xml"/>
POJO
setter\getter
配置<resultMap>元素
<resultMap type="com.pojo.MapUser" id=myResult">
配置<select>元素
select id="selectResultMap" resultMap="myResult">
添加接口方法
public List<MapUser> selectResultMap();
调用接口方法
List<MapUser> listResultMap=userDao.selectResultMap();
级联查询
一对一
<association property="" javaType="">
一对多
<collection property="" ofType="">
多对多
<collection property="" ofType="">
SpringMVC
Controller
注解
@Controller
<context:component-scan base-package="controller">
RequestMapping
方法级别注解
@RequestMapping(value="/index/login")
public String login(){return "login";}
public String login(){return "login";}
类级别注解
@RequestMapping("/index")
public class IndexController{ @RequestMapping("/login")
public String login(){return "login";}
public class IndexController{ @RequestMapping("/login")
public String login(){return "login";}
类型转换和格式化
拦截器
<mvc:mapping path="/**"/>
<beanclass="interceptor.LoginInterceptor"/>
<beanclass="interceptor.LoginInterceptor"/>
JR303
<value>/WEB-INF/resource/errorMessages</values>
国际化
<property name="basename" value="classpath:messages"/>
<property name="basename" value="/WEB-INF/resource/messages"/>
<property name="basename" value="/WEB-INF/resource/messages"/>
0 条评论
下一页