一、 spring:
ioc控制反转,通过getBean获取对象
aop切面编程,通过监听指定的方法,在调用该方法时,会执行 @Before @After等方法。
main中:引入spring.xml配置文件 或者配置注解
.getBean()获取对象
这是自定义springutil获得getbean
@Component
public class SpringUtil implements ApplicationContextAware {
二、mybatis:
xml方式开发:使用mybatis核心配置文件,指定mapper.xml映射文件,映射文件实现接口里面的方法,增删改查
注解开发:使用mybatis核心配置文件,指定带注解的接口,在注解写增删改查
main中:引入mybatis.xml核心配置文件,包括数据库连接信息,连接池、指定的接口实现方式(注解、mapper文件)
创建SqlSessionFactoryBuilder对象
创建SqlSessionFactory对象
创建SqlSession对象
sqlSession.getMapper()方法获取接口实现。
一级、二级缓存区别:
默认开启一级缓存:是sqlSession会话级别的。
二级缓存开启需要核心xml文件开启、mapper映射文件也要开启(注解也是):是mapper级别的,namespace级别的,
不同的会话调用同一个mapper中的查询方法,走缓存
懒加载(延迟加载):涉及到表连接
三、springMVC:
是spring的子框架。给项目添加web支持。
在web.xml文件添加一组映射关系,引入DispatcherServlet类,当请求是.do结尾才走此映射。
在web.xml 同时添加引入springmvc.xml配置文件
在springmvc.xml文件使用注解支持,注解扫描,(有默认的可不写->)做一个配置springmvc视图解析器 视图解析器解析的视频路径为:前缀 + 后缀
在control层的类里添加@Controller注解、@RequestMapper注解
在index页面添加链接 xx/demo.do
配置tomcat
四、SSM整合:
spring启动2种方式:
1、自己提供ApplicationContext自己创建Spring容器。在main方法
ClassPathXmlApplicationContext context =
new ClassPathXmlApplicationContext("spring.xml");
User user = (User) context.getBean();
2、Web项目中在web.xml中配置监听启动
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
springMVC启动:
在Web项目中在web.xml中配置映射
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<!-- 表示容器再启动时立即加载servlet -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!-- 处理所有 结尾是 .do -->
<url-pattern>*.do</url-pattern>
</servlet-mapping>