C C++最新maven的ssm整合笔记(1),C C++开发必须掌握

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

    </plugin>
    <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin\_bindings\_for\_war\_packaging -->
    <plugin>
      <artifactId>maven-resources-plugin</artifactId>
      <version>3.0.2</version>
    </plugin>
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.8.0</version>
    </plugin>
    <plugin>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.22.1</version>
    </plugin>
    <plugin>
      <artifactId>maven-war-plugin</artifactId>
      <version>3.2.2</version>
    </plugin>
    <plugin>
      <artifactId>maven-install-plugin</artifactId>
      <version>2.5.2</version>
    </plugin>
    <plugin>
      <artifactId>maven-deploy-plugin</artifactId>
      <version>2.8.2</version>
    </plugin>
  </plugins>
</pluginManagement>

<!-- 构建过程中用到的插件 -->
<plugins>
  <!-- 具体插件,逆向工程的操作是以构建过程中插件形式出现的 -->
  <plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.0</version>
    <!-- 插件的依赖 -->
    <dependencies>
      <!-- 逆向工程的核心依赖 -->
      <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-core</artifactId>
        <version>1.3.2</version>
      </dependency>
      <!-- 数据库连接池 -->
      <dependency>
        <groupId>com.mchange</groupId>
        <artifactId>c3p0</artifactId>
        <version>0.9.2</version>
      </dependency>
      <!-- MySQL驱动 -->
      <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.25</version>
      </dependency>
    </dependencies>
  </plugin>
</plugins>

### 2.2配置mybatis-config.xml文件(mybatis)


在resources中创建mybatis-config.xml(名字可以任意)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2b121a9167d7428c9796808c89bf0dec.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56yR6Zy4ZmluYWw=,size_15,color_FFFFFF,t_70,g_se,x_16)


#### 创建jdbc的资源文件


以后链接数据库都导入这个资源


![在这里插入图片描述](https://img-blog.csdnimg.cn/3ff90e719ae94d6cbe492ed75a24e58a.png)



jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm
jdbc.username=root
jdbc.password=0615


#### 具体配置说明



> 
> 位置有顺序要求  
>  1.引入properties 就是jdbc的配置资源  
>  2.全局舍子(开启驼峰)设置类型别名  
>  3.链接数据库  
>  4.引入映射文件
> 
> 
> 



<?xml version="1.0" encoding="UTF-8" ?>
</mappers>


> 
> `**************************************`
> 
> 
> 


### 2.3配置applicationContext.xm (Spring)


在resources中创建applicationContext.xm(名字可以任意)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2c61db279d3544df958cc836c768a916.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56yR6Zy4ZmluYWw=,size_15,color_FFFFFF,t_70,g_se,x_16)


#### 具体配置说明



> 
> spring配置文件核心点  
>  0.业务逻辑扫描  
>  1.数据源(c3p0)  
>  2.整合mybatis  
>  SqlSessionFactoryBean  
>  3.事务控制  
>  =======================================
> 
> 
> 


![在这里插入图片描述](https://img-blog.csdnimg.cn/4a622534de3b4aca89793e31707831ee.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56yR6Zy4ZmluYWw=,size_20,color_FFFFFF,t_70,g_se,x_16)  
 在数据源我们采用的是导入的方式



<?xml version="1.0" encoding="UTF-8"?>

<context:component-scan base-package="com.xbfinal">
    <!--不扫描控制器-->
    <context:exclude-filter type="annotation" 

expression=“org.springframework.stereotype.Controller”/>
</context:component-scan>

<context:property-placeholder location="dbconfig.properties"/>
<bean id="pooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="jdbcUrl" value="${jdbc.url}"/>
    <property name="driverClass" value="${jdbc.driver}"/>
    <property name="user" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
</bean>

<!--========================== 配置和mybatis整合 =================================================================-->
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
    <!--指定mybatis全局配置文件的位置-->
    <property name="configLocation" value="classpath:mybatis-config.xml"></property>
    <!--配置数据源 就是上面配置的-->
    <property name="dataSource" ref="pooledDataSource"></property>
    <!--指定mybatis的mapper文件的位置-->
    <property name="mapperLocations" value="classpath:mapper/\*.xml"></property>

</bean>
<!--配置扫描器。将mybatis接口实现加入到ioc容器-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <!--扫描所有的dao接口的实现加入ioc容器-->
    <property name="basePackage" value="com.xbfinal.dao"/>
</bean>
<!--==============================================================================-->
<!--============================ 事务控制 =============================================================-->
<bean id ="TransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <!--控制数据源-->
    <property name="dataSource" ref="pooledDataSource"></property>
</bean>
<!--开启注解的事务,使用xml配置形式的事务(都使用配置)-->
<aop:config>
    <!--切入点表达式-->
    <aop:pointcut id="tePint" expression="execution(public \* com.xbfinal.service..\*(..))"/>
    <!--配置事务增强-->
    <aop:advisor advice-ref="txAdvice" pointcut-ref="tePint"/>
</aop:config>

<!--配置事务增强,事务如何切入-->
<tx:advice id="txAdvice" transaction-manager="TransactionManager">
    <tx:attributes>
        <!--所有方法都是事务方法-->
        <tx:method name="\*"/>
        <!--以get开始的所有方法-->
        <tx:method name="get\*" read-only="true"/>
    </tx:attributes>
</tx:advice>


> 
> `**************************************`
> 
> 
> 


### 2.4配置springMVC环境DispatcherServlet


在rWEB-INF下创建DispatcherServlet.xm  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20e28b66d5594fc8b2e58141b1d7c854.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56yR6Zy4ZmluYWw=,size_15,color_FFFFFF,t_70,g_se,x_16)


#### 详细配置



> 
> 1.springmvc配置文件 包含网页跳转的控制和配置  
>  2.配置视图解析器 方便页面返回  
>  3.两个标准配置
> 
> 
> 



<?xml version="1.0" encoding="UTF-8"?>

<!--springmvc配置文件 包含网页跳转的控制和配置-->
<context:component-scan base-package="com.xbfinal.controller">
</context:component-scan>
<!--配置视图解析器 方便页面返回-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/"/>
    <property name="suffix" value=".jsp"/>
</bean>
<mvc:view-controller path="/" view-name="index"></mvc:view-controller>

<!--两个标准配置-->
<mvc:default-servlet-handler/><!--将springmvc不能处理的交给tomcat-->
<!--支持springmvc更高级的功能:JSR303校验 ajax请求.映射动态请求-->
<mvc:annotation-driven/>


> 
> `**************************************`
> 
> 
> 


### 2.5配置web.xml环境


![在这里插入图片描述](https://img-blog.csdnimg.cn/40ff37281b96427488c85b7fdc8a9164.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56yR6Zy4ZmluYWw=,size_15,color_FFFFFF,t_70,g_se,x_16)


#### 配置内容如下



> 
> 1启动sprin容器 applicationContext.xml  
>  2.配置springMV的前端控制器DispatcherServlet 拦截所有请求  
>  3.字符编码过滤器  
>  4.HHF过滤器: HiddenHttpMethodFilter支持GET、POST、PUT、DELETE请求。
> 
> 
> 



<context-param>
    <param-name>contextConfigLocation</param-name>
    <!--classpath:spring文件配置路径

项目启动就会加载这个文件
–>
classpath:applicationContext.xml

</context-param>
<servlet>
    <servlet-name>DispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>DispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
<!--3字符编码过滤器-->
<filter>
    <filter-name>CharacterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceResponseEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<!--HHF过滤器-->
<filter>
    <filter-name>HiddenHttpMethodFilter</filter-name>
    <!-- HHF -->
    <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>HiddenHttpMethodFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>



![img](https://img-blog.csdnimg.cn/img_convert/9a04efb592c7f681293d3e49d93d80c1.png)
![img](https://img-blog.csdnimg.cn/img_convert/1701b6b8d2e8b2b2066252ce3657458c.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618668825)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>



</web-app>


[外链图片转存中…(img-EdoUSQKn-1715719324349)]
[外链图片转存中…(img-op8lBHYg-1715719324349)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值