- log4J
- 导入log4J.jar
- 创建log4J.properties
# Create a file called log4j.properties as shown below and place it in your classpath:
# 创建一个名为log4j.properties的文件,如下所示,并将其放在类路径中:
# Global logging configuration
# 在开发环境下日志级别要设置成DEBUG,生产环境设置成info或error
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
- Spring整合web项目原理
- 加载spring核心配置文件
-
加载spring配置文件时,new对象可以实现功能,但效率低
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("service/service.xml");
-
解决办法
- 实现思想
- 把加载配置文件和创建对象过程,在服务器启动时候完成
- 实现原理(ServletContext对象、监听器)
- 在ServletContext对象创建时候,使用监听器可以具体到ServletContext对象在什么时候创建
- 使用监听器(ServletContextListener)监听到ServletContext对象创建时候
- 加载spring配置文件,把配置文件配置对象创建
- 把创建出来的对象放到ServletContext域对象里面(setAttribute)
- 获取对象时候,到ServletContext域得到(getAttribute)
/**
* 实现监听器
*/
public class BaseListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
ServletContext servletContext = servletContextEvent.getServletContext();
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("service/service.xml"); servletContext.setAttribute("applicationContext",applicationContext);
} @Override
public void contextDestroyed(ServletContextEvent servletContextEvent) { }
} <!-- 在web.xml配置listener --> <!-- 配置listener -->
<listener>
<listener-class>cn.muriel.auto.web.listener.BaseListener</listener-class>
</listener> <!-- 测试代码 -->
<%@ page import="cn.muriel.auto.service.UserService" %>
<%@ page import="cn.muriel.auto.dao.UserDao" %>
<%@ page import="org.springframework.context.ApplicationContext" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<%
ApplicationContext applicationContext = (ApplicationContext) application.getAttribute("applicationContext");
UserService userService = (UserService) applicationContext.getBean("userService");
UserDao userDao = (UserDao) applicationContext.getBean("userDao");
userService.setUserDao(userDao);
userService.addUser();
%>
</body>
</html>
- 实现思想
-
- 加载spring核心配置文件
相关文章
- Spring框架基础(下)
- mybatis学习笔记之基础框架(2)
- 夯实Java基础系列19:一文搞懂Java集合类框架,以及常见面试题
- mybatis中两种取值方式?谈谈Spring框架理解?
- Spring基础——在 Spring Config 文件中基于 XML 的 Bean 的自动装配
- (spring-第2回【IoC基础篇】)Spring的Schema,基于XML的配置
- 转-Hive/Phoenix + Druid + JdbcTemplate 在 Spring Boot 下的整合
- 微服务架构下使用Spring Cloud Zuul作为网关将多个微服务整合到一个Swagger服务上
- [Spring框架]Spring开发实例: XML+注解.
- 基于SOA分布式架构的dubbo框架基础学习篇