• 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框架基础(下)的更多相关文章

  1. Spring框架基础2

    Spring框架基础2 测试Spring的AOP思想和注解的使用 导包(在前面的基础上添加) SpringAOP名词解释 AOP编程思想:横向重复代码,纵向抽取:就是说多个地方重复的代码可以抽取出来公 ...

  2. Spring学习指南-第二章-Spring框架基础(完)

    第二章 Spring框架基础 面向接口编程的设计方法 ​ 在上一章中,我们看到了一个依赖于其他类的POJO类包含了对其依赖项的具体类的引用.例如,FixedDepositController 类包含 ...

  3. 4-1 Spring框架基础知识

    Spring框架基础知识 1.Spring 框架作用 主要解决了创建对象和管理对象的问题. 自动装配机制 2.Spring 框架 (Spring容器,JavaBean容器,Bean容器,Spring容 ...

  4. Spring框架基础

    1         Spring框架 1.1           Spring的基本概念 是一个轻量级的框架,提供基础的开发包,包括消息.web通讯.数据库.大数据.授权.手机应用.session管理 ...

  5. Spring 框架基础(04):AOP切面编程概念,几种实现方式演示

    本文源码:GitHub·点这里 || GitEE·点这里 一.AOP基础简介 1.切面编程简介 AOP全称:Aspect Oriented Programming,面向切面编程.通过预编译方式和运行期 ...

  6. Spring框架基础知识

    本人博客文章网址:https://www.peretang.com/basic-knowledge-of-spring-framework/ Spring框架简介 Spring , 一个开源的框架 , ...

  7. Spring 框架基础(06):Mvc架构模式简介,执行流程详解

    本文源码:GitHub·点这里 || GitEE·点这里 一.SpringMvc框架简介 1.Mvc设计理念 MVC是一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集 ...

  8. Spring 框架基础(03):核心思想 IOC 说明,案例演示

    本文源码:GitHub·点这里 || GitEE·点这里 一.IOC控制反转 1.IOC容器思想 Java系统中对象耦合关系十分复杂,系统的各模块之间依赖,微服务模块之间的相互调用请求,都是这个道理. ...

  9. (一)Spring框架基础

    一.什么是spring框架 spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以和Struts框架,i ...

  10. Spring框架基础解析

    Spring是一个轻量级的.非侵入式的容器框架:对Bean对象的生命周期进行管理. Spring框架的核心:IOC(控制反转).DI(依赖注入).AOP(面向切面编程). (1) IOC:控制反转. ...

随机推荐

  1. react-native-upgrade-android

    React Native的版本升级插件(仅是android), react-native版本需要0.17.0及以上 如何安装 1.首先安装npm包 npm install react-native-u ...

  2. MS SQL计算最大公约数和最小公倍数函数

    /*求两个数的最大公约数*/ CREATE FUNCTION f_GetGys ( @num1 BIGINT , @num2 BIGINT ) RETURNS BIGINT AS BEGIN DECL ...

  3. 权限系统设计-day02

    练习中的问题: 1,<s:url action="employee_input" />这个标签用来让struts自动生成请求的路径,struts生成的路径是一个全路径, ...

  4. Hadoop源码分析:Hadoop编程思想

    60页的ppt讲述Hadoop的编程思想 下载地址 http://download.csdn.net/detail/popsuper1982/9544904

  5. 混合物App开发中,在移动设备上调试查看日志,重写window.console

    (function(){ var print={ lock:true, log:function(param){ if(this.lock){ var element=document.createE ...

  6. python爬虫学习视频资料免费送,用起来非常666

    当我们浏览网页的时候,经常会看到像下面这些好看的图片,你是否想把这些图片保存下载下来. 我们最常规的做法就是通过鼠标右键,选择另存为.但有些图片点击鼠标右键的时候并没有另存为选项,或者你可以通过截图工 ...

  7. [Swift]LeetCode259.三数之和较小值 $ 3Sum Smaller

    Given an array of n integers nums and a target, find the number of index triplets i, j, k with 0 < ...

  8. 本地安装MySQL详细教程

    第1章   MySQL的安装与使用 1.1  MySQL安装与配置 1.1.1 MYSQL的安装 1.打开下载的mysql安装文件mysql-5.5.27-win32.zip,双击解压缩,运行“set ...

  9. Spark MLlib

    MLlib    数据挖掘与机器学习        数据挖掘体系 数据挖掘:也就是data mining,是一个很宽泛的概念,也是一个新兴学科,旨在如何从海量数据中挖掘出有用的信息来.         ...

  10. 第二周 IP通信基础回顾

    这周我们学习了OSI参考模型,了解局域网的分层为接入层,汇聚层,核心层.网络划分为通信直网,资源直网.osi模型概述在主动间数据传输为应用层,表示层,会话层:底层数据l流为传输层,网络层,数据链路层, ...