• 如何快速搭建一个ssm框架


    首先我们需要创建一个maven项目

    1.右键 new maven project 

    第一个勾选然后下一步

    groupid 可以写com.xxx.xxx  之类的

    artifaceid 写项目名 xxx

    web项目选择打war包 然后下一步就ok

    2.项目中少web.xml /WEB-INFO 右键项目  properties   → project faces → Dynamic Web Module 勾选去掉点击apply  →再勾选上 然后 它会提醒你配置    然后第二个框目录 写src/main/webapp   应用就好了   maven的setting 路径自己配置 镜像位置推荐用阿里云的

    3.pom文件的配置

    这里jar包miss报错 还有项目红色叹号 怎么弄maven  update project  还有build path  clean都没有用, 直接去网址下载jar包 然后放进文件夹里

    具体的pom 需要的jar包 如下

    1. <dependencies>
    2. <dependency>
    3. <groupId>org.springframeworkgroupId>
    4. <artifactId>spring-webmvcartifactId>
    5. <version>4.3.7.RELEASEversion>
    6. dependency>
    7. <dependency>
    8. <groupId>org.springframeworkgroupId>
    9. <artifactId>spring-jdbcartifactId>
    10. <version>4.3.7.RELEASEversion>
    11. dependency>
    12. <dependency>
    13. <groupId>org.springframeworkgroupId>
    14. <artifactId>spring-aspectsartifactId>
    15. <version>4.3.7.RELEASEversion>
    16. dependency>
    17. <dependency>
    18. <groupId>org.mybatisgroupId>
    19. <artifactId>mybatisartifactId>
    20. <version>3.4.2version>
    21. dependency>
    22. <dependency>
    23. <groupId>org.mybatisgroupId>
    24. <artifactId>mybatis-springartifactId>
    25. <version>1.3.1version>
    26. dependency>
    27. <dependency>
    28. <groupId>c3p0groupId>
    29. <artifactId>c3p0artifactId>
    30. <version>0.9.1.2version>
    31. dependency>
    32. <dependency>
    33. <groupId>mysqlgroupId>
    34. <artifactId>mysql-connector-javaartifactId>
    35. <version>5.1.41version>
    36. dependency>
    37. <dependency>
    38. <groupId>jstlgroupId>
    39. <artifactId>jstlartifactId>
    40. <version>1.2version>
    41. dependency>
    42. <dependency>
    43. <groupId>javax.servletgroupId>
    44. <artifactId>servlet-apiartifactId>
    45. <version>2.5version>
    46. <scope>providedscope>
    47. dependency>
    48. <dependency>
    49. <groupId>junitgroupId>
    50. <artifactId>junitartifactId>
    51. <version>4.12version>
    52. <scope>testscope>
    53. dependency>
    54. dependencies>

    4.我们对WEB-INF 下的web.xml 进行编写   这个分开 在里面补充  

    1).spring 的容器  ContextLoaderListener  快捷键补全 alt+/

     classpath:applicationContext.xml


    只用修改这个  并且在src/main/resources  右键 new spring bean configuration File  创建上面的 spring的配置文件

    2).springMVC前端控制器

    DispatcherServlet 快捷键提示补全

         
                contextConfigLocation
                location
            
       删掉不指定 默认全部扫描

    dispatcherServlet 全改成这个名

    /  全部扫描

    然后在web.xml同级目录下创建dispatcherServlet-servlet.xml   创建方式同上applicationContext.xml

    在这个里面控制springMVC扫描

    3).添加两个基本的过滤器

    1. <filter>
    2. <filter-name>CharacterEncodingFilterfilter-name>
    3. <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
    4. <init-param>
    5. <param-name>encodingparam-name>
    6. <param-value>utf-8param-value>
    7. init-param>
    8. <init-param>
    9. <param-name>forceRequestEncodingparam-name>
    10. <param-value>trueparam-value>
    11. init-param>
    12. <init-param>
    13. <param-name>forceResponseEncodingparam-name>
    14. <param-value>trueparam-value>
    15. init-param>
    16. filter>
    17. <filter-mapping>
    18. <filter-name>CharacterEncodingFilterfilter-name>
    19. <url-pattern>/*url-pattern>
    20. filter-mapping>
    21. <filter>
    22. <filter-name>HiddenHttpMethodFilterfilter-name>
    23. <filter-class>org.springframework.web.filter.HiddenHttpMethodFilterfilter-class>
    24. filter>
    25. <filter-mapping>
    26. <filter-name>HiddenHttpMethodFilterfilter-name>
    27. <url-pattern>/*url-pattern>
    28. filter-mapping>

    5.在dispatcherServlet-servlet.xml配置文件顶部加这个

    xmlns:context="http://www.springframework.org/schema/context"

    然后对SpringMVC 的配置文件 包含网站跳转逻辑的控制,配置   即注解的扫描的范围的指定

    选择该xml下面的Namespaces  mvc勾选上

    1. <context:component-scan base-package="com.ice" use-default-filters="false">
    2. <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    3. context:component-scan>
    4. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    5. <property name="prefix" value="/WEB-INF/views/">property>
    6. <property name="suffix" value=".jsp">property>
    7. bean>
    8. <mvc:default-servlet-handler/>
    9. <mvc:annotation-driven>
    10. mvc:annotation-driven>

    6.   配置c3p0数据库相关

    在applicationContext.xml 文件打开  然后选择namespace   aop(√) context (√) tx(√)

    1. <context:component-scan base-package="com.ice">
    2. <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    3. context:component-scan>
    4. <context:property-placeholder location="classpath:dbconfig.properties"/>
    5. <bean id="pooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    6. <property name="jdbcUrl" value="${jdbc.jdbcUrl}">property>
    7. <property name="driverClass" value="${jdbc.driverClass}">property>
    8. <property name="user" value="${jdbc.user}">property>
    9. <property name="password" value="${jdbc.password}">property>
    10. bean>
    11. <bean id="SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    12. <property name="configLocation" value="classpath:mybatis-config.xml">property>
    13. <property name="dataSource" ref="pooledDataSource">property>
    14. <property name="mapperLocations" value="classpath:mapper/*.xml">property>
    15. bean>
    16. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    17. <property name="basePackage" value="com.ice.dao">property>
    18. <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    19. <property name="dataSource" ref="pooledDataSource">property>
    20. bean>
    21. <aop:config>
    22. <aop:pointcut expression="execution(* com.ice.service..*(..))" id="txPoint"/>
    23. <aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/>
    24. aop:config>
    25. <tx:advice id="txAdvice" >
    26. <tx:attributes>
    27. <tx:method name="*"/>
    28. <tx:method name="get*" read-only="true"/>
    29. tx:attributes>
    30. tx:advice>

    此步骤创建了 mapper包   同时还有mybatis的配置文件 mybatis-config.xml 与applicationContext在同一目录下 

    7.mybatis的配置  mybatis-config.xml的主要配置如下

    1. "1.0" encoding="UTF-8"?>
    2. configuration
    3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
    5. <configuration>
    6. <settings>
    7. <setting name="mapUnderscoreToCamelCase" value="true"/>
    8. settings>
    9. <typeAliases >
    10. <package name="com.ice.bean" />
    11. typeAliases>
    12. configuration>

    然后就是 mybatis逆向工程 必须的xml 和java类 

    这个是xxx.xml 直接放在包下面 跟pom.xml同级

    1. "1.0" encoding="UTF-8"?>
    2. generatorConfiguration
    3. PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
    4. "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    5. <generatorConfiguration>
    6. <context id="cosmetic" targetRuntime="MyBatis3">
    7. <commentGenerator>
    8. <property name="suppressDate" value="true"/>
    9. <property name="suppressAllComments" value="true"/>
    10. commentGenerator>
    11. <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://192.168.204.131:3306/ssh_crud" userId="root" password="123456">
    12. jdbcConnection>
    13. <javaTypeResolver>
    14. <property name="forceBigDecimals" value="false"/>
    15. javaTypeResolver>
    16. <javaModelGenerator targetPackage="com.ice.bean" targetProject=".\src\main\java">
    17. <property name="enableSubPackages" value="true"/>
    18. <property name="trimStrings" value="true"/>
    19. javaModelGenerator>
    20. <sqlMapGenerator targetPackage="com.ice.dao" targetProject=".\src\main\java">
    21. <property name="enableSubPackages" value="true"/>
    22. sqlMapGenerator>
    23. <javaClientGenerator type="XMLMAPPER" targetPackage="com.ice.dao" targetProject=".\src\main\java">
    24. <property name="enableSubPackages" value="true"/>
    25. javaClientGenerator>
    26. <table tableName="emp" domainObjectName="Employee" />
    27. <table tableName="dept" domainObjectName="Department" />
    28. context>
    29. generatorConfiguration>

    xxx.java

    1. package com.ice.test;
    2. import java.io.File;
    3. import java.util.ArrayList;
    4. import java.util.List;
    5. import org.mybatis.generator.api.MyBatisGenerator;
    6. import org.mybatis.generator.config.Configuration;
    7. import org.mybatis.generator.config.xml.ConfigurationParser;
    8. import org.mybatis.generator.internal.DefaultShellCallback;
    9. public class MBGTest {
    10. //生成bean mapper 的方法
    11. public void generator() throws Exception{
    12. List warnings = new ArrayList();
    13. boolean overwrite = true;
    14. //指定 逆向工程配置文件
    15. File configFile = new File("mbg.xml");
    16. ConfigurationParser cp = new ConfigurationParser(warnings);
    17. Configuration config = cp.parseConfiguration(configFile);
    18. DefaultShellCallback callback = new DefaultShellCallback(overwrite);
    19. MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
    20. callback, warnings);
    21. myBatisGenerator.generate(null);
    22. }
    23. public static void main(String[] args) throws Exception {
    24. try {
    25. MBGTest generatorSqlmap = new MBGTest();
    26. generatorSqlmap.generator();
    27. } catch (Exception e) {
    28. e.printStackTrace();
    29. }
    30. }
    31. }

    运行上面的java 就生成了所需的 mapper 以及实体类javabean 

    我们的框架三部分就完成的差不多了

  • 相关阅读:
    第十四届蓝桥杯大赛软件赛决赛 C/C++ 大学 B 组 试题 A: 子 2023
    (2022版)一套教程搞定k8s安装到实战 | K8s集群安装(二进制)
    [附源码]Java计算机毕业设计SSM仿咸鱼二手物品交易系统
    Python 1-06 练习
    甜蜜约会网页制作html
    【学习记录25】学习一些比较有用的git命令
    SAP BASIS SET_PARAMETER_ID_TOO_LONG
    开源layui前端框架 收款码生成系统源码 多合一收款码生成源码 带50多套UI模板
    【Go基础】编译、变量、常量、基本数据类型、字符串
    AlmaLinux download
  • 原文地址:https://blog.csdn.net/Kiritovo/article/details/81292904