整合ssm(2)之编写Spring框架

整合ssm之编写Spring框架

编写配置文件

resources目录下,

新建xml文件,

命名为:applicationContext.xml

<?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"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx.xsd">
    <!--开启注解的扫描,希望处理service和dao,controller,不需要Spring框架处理-->
    <context:component-scan base-package="xyz.zhouzhousag">
        <!--配置那些注解不扫描    annotation:注解-->
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>

</beans>

添加log4j配置文件

resources目录下,

新建文件,

命名为:log4j.properties

# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE            debug   info   warn error fatal
log4j.rootCategory=info, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:\axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n


Service实现类添加注解

@Service("accountService")

编写测试类

public class TestSpring {

    @Test
    public void runTest1(){
        //加载配置文件
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");

        //获取对象
        IAccountService accountService = (IAccountService) applicationContext.getBean("accountService");

        //调用方法
        accountService.findAll();
        
    }
}
已标记关键词 清除标记
相关推荐
1. springMvc:是一个表现层框架, 作用:就是从请求中接收传入的参数, 将处理后的结果数据返回给页面展示 2. ssm整合: 1)Dao层 pojo和映射文件以及接口使用逆向工程生成 SqlMapConfig.xml mybatis核心配置文件 ApplicationContext-dao.xml 整合spring在dao层的配置 数据源 会话工厂 扫描Mapper 2)service层 事务 ApplicationContext-trans.xml @Service注解扫描 ApplicationContext-service.xml 3)controller层 SpringMvc.xml 注解扫描:扫描@Controller注解 注解驱动:替我们显示的配置了最新版的处理器映射器和处理器适配器 视图解析器:显示的配置是为了在controller中不用每个方法都写页面的全路径 4)web.xml springMvc前端控制器配置 spring监听 3.参数绑定(从请求中接收参数)重点 1)默认类型: 在controller方法中可以有也可以没有,看自己需求随意添加. httpservletRqeust,httpServletResponse,httpSession,Model(ModelMap其实就是Mode的一个子类 ,一般用的不多) 2)基本类型:string,double,float,integer,long.boolean 3)pojo类型:页面上input框的name属性值必须要等于pojo的属性名称 4)vo类型:页面上input框的name属性值必须要等于vo中的属性.属性.属性.... 5)自定义转换器converter: 作用:由于springMvc无法将string自动转换成date所以需要自己手动编写类型转换器 需要编写一个类实现Converter接口 在springMvc.xml中配置自定义转换器 在springMvc.xml中将自定义转换器配置到注解驱动上 SQL映射文件的几个顶级元素配置 1)Mapper:映射文件的根元素节点,只有一个属性namespace(命名空间),其作用如下, 用于区分不同的mapper,全局唯一 绑定dao接口,即面向接口编程 2)cache:配置给定命名空间的缓存 3)cache-ref:从其他命名空间引用缓存配置 4)ResultMap:用来描述数据库结果集和对象的对应关系。 5)sql:可以重用的SQL块,也可以被其他语句引用。 6)insert:映射插入语句 7)update:映射更新语句 8)delete:映射删除语句 9)select:映射查询语句 当方法参数有多个时,每个参数前都需要增加@param注解: 例如: Public int updatePwd(@Param(“id”) Integer id,@Param(“userPassword”)String pwd); resultMap的配置 1、属性 Id:resultMap的唯一标识 Type:表示该ResultMap的映射结果类型(通常是java实体类) 2、子节点 Id:一般对应数据库中该行的主键id,设置此项可以提升MyBatis性能。 Result:映射到javaBean的某个“简单类型”属性。 第三章动态SQL 在mapper.xml配置文件中 item(表示集合的每个元素进行迭代时的别名)自我理解也就是说dao接口方法里的参数, index(指定一个名称,用于表示在迭代过程中,每次迭代到的位置), open(表示该语句以什么时候开始)既然是in条件语句,所以必然是"("开始, separator(表示在每次进行迭代之间以什么符号作为分隔符)既然是in条件语句必然是是以","逗号作为分隔符 close(表示该语句以什么结束)所以必然是以“)”结束。 collection(他是最容易出错的属性,需格外注意该属性必须指定,不同情况下该属性的值是不一样的,总有三种情况) 1)如入参为单参数且参数类型是一个List集合的时候,collection的属性值为list。 2)如若入参为单参数且参数类型是一个数组的时候,collection的属性值为array(此处传入参数Integer[] rolelds 为数组类型,故此处collection的属性设置为“array”) 3)如若入参为多参数,就需要把他们封装为一个Map进行处理 select中返回的是一个resultMap(id=“userMapRole”),该resultMap也进行了相应的字段映射。 如下图提供了单参数为list,array多参数为Map的示例
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页