什么是ssm框架?
ssm框架是一种web项目的开发框架,类似与个人简历模板。
程序员只需要做一件事情,这事情和自己的业务非常相关。和个人业务无直接关系的事情,交给ssm框架。
ssm框架是由SpringMvc+Spring+Mybatis组成(组合)
为什么使用框架?
Spring框架
Spring的2大技术
控制反转(ioc)和依赖注入(di)
面向切面编程(aop)
基础准备
学习框架基础准备内容
前端知识(html javascript \css)
java基础知识(对象、接口、继承、实现)
web开发(servlet jsp mvc思想),一定做过项目(非框架项目)
控制反转技术(inversion of control)
切入例子
在java基础中,创建对象,通过new对象,这个对象是在哪里创建呢?
那么,在框架中是如何创建对象的呢?
package com.baidu.javaPro.dao;
public interface UserDao {
//写一个方法
public void speak();
}
package com.baidu.javaPro.dao;
public class UserDaoImpl implements UserDao {
@Override
public void speak() {
System.out.println("UserDaoImpl-->speak method-->hello java 南京交通");
}
}
package com.baidu.javaPro.test;
import com.baidu.javaPro.dao.UserDao;
import com.baidu.javaPro.dao.UserDaoImpl;
public class MyTest {
public static void main(String[] args) {
//需求:调用speak方法,创建speak方法的对象
//创建对象:UserDao对象
UserDao userDao= new UserDaoImpl();
//调用方法:speak方法
userDao.speak();
}
}
控制反转定义
创建对象控制权的反转,原来创建对象:通过代码在测试类中,new对象。
现在呢,控制权反转,不在类中创建对象,在配置文件(比喻容器)中创建。
示例实现控制反转
1-创建web项目
2-导入spring对应的jar包和依赖包commons-logging
企业面试题:spring最核心最基本的模板或者容器
spring-beans
spring-context
spring-core
spring-expression
和依赖包commons-logging.jar
*记得导入jar包
3-创建spring的配置文件
Spring配置文件又叫容器,容器里面是装对象。此时的对象不是放在java类中,而是放在容器中。这就叫做控制反转
企业面试题:什么叫控制反转?
<?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
https://www.springframework.org/schema/context/spring-context.xsd">
<!--用于spring框架的配置设置-->
</beans>
选择第一步,然后点ok
4-在容器中创建bean
5-创建类和测试类
6-运行
使用junit进行测试
导入junit jar包
编写测试类
使用log4j 查看详细日志
创建 log4j.properties 文件 在resources里面
添加log4j内容
log4j.rootLogger=DEBUG,CONSOLE,file
#log4j.rootLogger=ERROR,ROLLING_FILE
log4j.logger.cn.smbms.dao=debug
log4j.logger.com.ibatis=debug
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug
log4j.logger.java.sql.ResultSet=debug
log4j.logger.org.tuckey.web.filters.urlrewrite.UrlRewriteFilter=debug
######################################################################################
# Console Appender \u65e5\u5fd7\u5728\u63a7\u5236\u8f93\u51fa\u914d\u7f6e
######################################################################################
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=error
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern= [%p] %d %c - %m%n
######################################################################################
# DailyRolling File \u6bcf\u5929\u4ea7\u751f\u4e00\u4e2a\u65e5\u5fd7\u6587\u4ef6\uff0c\u6587\u4ef6\u540d\u683c\u5f0f:log2009-09-11
######################################################################################
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern=yyyy-MM-dd
log4j.appender.file.File=log.log
log4j.appender.file.Append=true
log4j.appender.file.Threshold=error
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n
log4j.logger.com.opensymphony.xwork2=error
重新启动项目
进行测试看控制台的输出内容
自定义日志
创建logger对象
注意导入包的路径,是如下
import org.apache.log4j.Logger;
调用debug方法或者info方法