《二gradle创建SSM项目——Hello word》

一创建gradle web项目

1.以下是我的项目结构web工程+工具module,mapper用来存放mybatis-plus自动生成类,通过 MpGenerator.class 生成。

《二gradle创建SSM项目——Hello word》_第1张图片
项目结构,可扩展

2.刚创建的web项目webapp下没有web.xml文件,生成方式如下所示

《二gradle创建SSM项目——Hello word》_第2张图片
生成web.xml

《二gradle创建SSM项目——Hello word》_第3张图片
创建成功,失败的话检查以上步骤

二spring配置 在resources文件夹下面新建以下文件(1~4)

1.jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/tobi_fresh?            
useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=root

2.logo4j.properties

log4j.rootLogger=error, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.org.apache=error
log4j.logger.java.sql.ResultSet=error
log4j.logger.java.sql.Connection=error
log4j.logger.java.sql.Statement=error
log4j.logger.java.sql.PreparedStatement=error
log4j.logger.org.springframework=error
log4j.logger.org.springframework.jdbc.support=error
log4j.logger.org.springframework.scheduling=error

3.applicationContext.xml 省略头尾



 
   
     
     
     
     

      
      
      
      

      
      
      
      
      
      

      
      
      
      

      
      
      

      
      
    


    
    
        
        
        
        
        
        
        
        
        
        
        
        
    

    
    
        
        
            
                classpath:com/tobi/sqlxml/*.xml
            
        
        
        

        
        
            
                
                
                    
                    
                
                
                
                    
                
            
        
        
        
    

    
    
        
    


    
    
    
        
    

    
    

4.spring-mvc.xml


    
    
    
    

    
    

    
    
    

    
    

        
        
            
                
                    
                        
                            text/html; charset=UTF-8
                            application/json;charset=UTF-8
                        
                    
                


                
                
                    
                        
                            text/html; charset=UTF-8
                            application/json;charset=UTF-8
                        
                    
                
            
        

        
        
    

    

        
        

        
        
    

    
        
        
            
            
        
    


    
    
        
        
        
    

5.web.xml


    
        contextConfigLocation
        classpath:applicationContext.xml
    
    
    
        org.springframework.web.context.ContextLoaderListener
    
    
        log4jConfigLocation
        classpath:log4j.properties
    
    
        org.springframework.web.util.Log4jConfigListener
    

    
    
        SpringMVC
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-mvc.xml
        
    
    
        SpringMVC
        *.html
    
    


    
    
        DruidStatView
        com.alibaba.druid.support.http.StatViewServlet
    
    
        DruidStatView
        /mysql/*
    


    
        encodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        true
        
            encoding
            UTF-8
        
    

    
        encodingFilter
        /*
    

    
    /log.html
    

    
        30
    

三mapper自动生成 mapper、entity、mapperXml

1.在module的build.gradle中添加依赖

//MyBatis-plus
compile "com.baomidou:mybatis-plus:2.1.4"
compile group: 'org.apache.velocity', name: 'velocity', version: '1.7'
//数据库驱动
compile "mysql:mysql-connector-java:5.1.23"
2.在 Java 文件夹建一个main方法(仅供参考,生成规则,数据库地址需要自己配置)

 public static void main(String[] args) {
        AutoGenerator mpg = new AutoGenerator();
        // 全局配置
        GlobalConfig gc = new GlobalConfig();
        gc.setOutputDir("D:\\ProjectHub\\tobi\\mapper\\src\\main\\java");
        gc.setFileOverride(true);
        gc.setActiveRecord(true);
        gc.setEnableCache(false);// XML 二级缓存
        gc.setBaseResultMap(true);// XML ResultMap
        gc.setBaseColumnList(false);// XML columList
        gc.setAuthor("tobi");
        // 自定义文件命名,注意 %s 会自动填充表实体属性!
        // dev.setMapperName("%sDao");
        // dev.setXmlName("%sDao");
        // dev.setServiceName("MP%sService");
        // dev.setServiceImplName("%sServiceDiy");
        mpg.setGlobalConfig(gc);

        // 数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setDbType(DbType.MYSQL);
        dsc.setTypeConvert(new MySqlTypeConvert(){
            // 自定义数据库表字段类型转换【可选】
            @Override
            public DbColumnType processTypeConvert(String fieldType) {
                return super.processTypeConvert(fieldType);
            }
        });
        dsc.setDriverName("com.mysql.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("root");
        dsc.setUrl("jdbc:mysql://127.0.0.1:3306/tobi_fresh?characterEncoding=utf8");
        mpg.setDataSource(dsc);

        // 策略配置
        StrategyConfig strategy = new StrategyConfig();
        // strategy.setCapitalMode(true);// 全局大写命名 ORACLE 注意
        strategy.setTablePrefix(new String[] {"b_","c_","m_","p_","s_","t_"});// 此处可以修改为您的表前缀
        strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
        // strategy.setInclude(new String[] { "user" }); // 需要生成的表
        // strategy.setExclude(new String[]{"test"}); // 排除生成的表
        // 自定义实体父类
        // strategy.setSuperEntityClass("com.baomidou.demo.TestEntity");
        // 自定义实体,公共字段
        // strategy.setSuperEntityColumns(new String[] { "test_id", "age" });
        // 自定义 mapper 父类
        // strategy.setSuperMapperClass("com.baomidou.demo.TestMapper");
        // 自定义 service 父类
        // strategy.setSuperServiceClass("com.baomidou.demo.TestService");
        // 自定义 service 实现类父类
        // strategy.setSuperServiceImplClass("com.baomidou.demo.TestServiceImpl");
        // 自定义 controller 父类
        // strategy.setSuperControllerClass("com.baomidou.demo.TestController");
        // 【实体】是否生成字段常量(默认 false)
        // public static final String ID = "test_id";
        // strategy.setEntityColumnConstant(true);
        // 【实体】是否为构建者模型(默认 false)
        // public User setName(String name) {this.name = name; return this;}
        // strategy.setEntityBuliderModel(true);
        mpg.setStrategy(strategy);

        // 包配置
        PackageConfig pc = new PackageConfig();
        pc.setParent("com");
        pc.setModuleName("tobi");
        pc.setMapper("mapper");
        pc.setXml("sqlxml");
        mpg.setPackageInfo(pc);

        // 自定义模板配置,可以 copy 源码 mybatis-plus/src/main/resources/template 下面内容修改,
        // 放置自己项目的 src/main/resources/template 目录下, 默认名称一下可以不配置,也可以自定义模板名称
         TemplateConfig tc = new TemplateConfig();
         tc.setController(null);
         //tc.setEntity("/templates/entity.java.vm");//模版自定义添加了逻辑删除注解。
         //tc.setMapper(null);
         //tc.setXml(null);
         tc.setService(null);
         tc.setServiceImpl(null);
         //如上任何一个模块如果设置 空 OR Null 将不生成该模块。
         mpg.setTemplate(tc);

        // 执行生成
        mpg.execute();

        // 打印注入设置
//        System.err.println(mpg.getCfg().getMap().get("abc"));
    }
《二gradle创建SSM项目——Hello word》_第4张图片
生成成功后目录结构

四 创建 controller, services

回到web项目,创建controller 和 services 包 类使用 @Controller @Services 注解


《二gradle创建SSM项目——Hello word》_第5张图片
controller services 配置springmvc包扫描的时候注意包路径 支持通配符
@Controller
public class LogController {

 @RequestMapping("log")
    @ResponseBody
    public AjaxMsg log(){
        Map map=new HashMap<>();
        map.put("title","hello word");
        map.put("content","a");
        AjaxMsg ajaxMsg=new AjaxMsg();
        ajaxMsg.setCode(200);
        ajaxMsg.setMsg("a");
        ajaxMsg.setObject(map);
        return ajaxMsg;
    }

    private class AjaxMsg{
      ```````
    }

    @RequestMapping("indexJsp")
    public String indexJsp(Model model){
        model.addAttribute("a","a");
        return "index";
    }
}

里面有个@ResponseBody注解用于浏览器直接返回 json 需要用到

compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: jackson_version
compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: jackson_version
compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: jackson_version
~ 对应spring-mvc,xml 中映射器适配器配置

五Hello word

添加一个Tomcat server 并部署 war(exploded) 运行后 输了localhost:8080/index.html

《二gradle创建SSM项目——Hello word》_第6张图片
hello word

最后

报错406,检查spring-mvc.xml 映射器适配器;jackson的三个包有没有添加,
报错404,检查web.xml过滤器

你可能感兴趣的:(《二gradle创建SSM项目——Hello word》)