用idea整合ssm
一.首先创建父工程,就叫smm_parent
二.右击父工程名,创建模块(domain,dao,service,web)这四个模块
三.在父工程的pom.xml文件中导入开发的所有的坐标依赖
四.设置依赖关系,dao依赖domain,service依赖dao,web依赖service
五.编写domain类
六.编写dao接口(用注解@select ,@insert @delete @update)因为后面spring会整合掉mybatis的sqlMapperConfig.xml所以不需要编写这个配置文件
七.编写service接口
八.编写serviceImpl
1.实现service接口
2.类上用注解@Service
3.私有属性 dao
4.方法里调用dao的方法
九.spring配置文件,这里整合mybatis,一般配置文件都放在web层的resources包里
1.首先配置扫描包
<!-- 开启注解扫描,要扫描的是service和dao层的注解,要忽略web层注解, 因为web层让SpringMVC框架去管理 --> <context:component-scan base-package="gao.xiaolei"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"></context:exclude-filter> </context:component-scan>
2.引入jdbc.properties配置文件
<!--引入jdbc配置文件--> <context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>
3.配置SqlSeesionFactoryBean,并且注入数据源
!-- 配置SqlSession的工厂,用于创建session --> <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSources"></property>
4.配置数据连
<bean id="dataSources" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="user" value="${jdbc.username}"></property> <property name="password" value="${jdbc.password}"></property> <property name="driverClass" value="${jdbc.driver}"></property> <property name="jdbcUrl" value="${jdbc.url}"></property> </bean>
5.配置dao扫描包
<!--配置dao扫描器--> <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="gao.xiaolei.dao"></property> </bean>
6.配置事务管理
<!--配置事务管理器--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean>
7.配置事务通知
<!--配置事务通知--> <tx:advice id="transactionInterceptor" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="find*" read-only="true" propagation="SUPPORTS"/> <tx:method name="*" read-only="false" propagation="REQUIRED"></tx:method> </tx:attributes> </tx:advice>
8.配置事务通知和切入点的关系
<aop:config> <aop:pointcut id="pt" expression="execution(* gao.xiaolei..*.*(..))"></aop:pointcut> <aop:advisor advice-ref="transactionInterceptor" pointcut-ref="pt"></aop:advisor> </aop:config>
9.开启注解事务支持
<tx:annotation-driven></tx:annotation-driven>
十.接下来就是配置web.xml
1.先配置监听器,用来监听applicationContext的创建
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationcontext.xml</param-value> </context-param>
2.配置前段控制器
<servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> </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> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
十一.配置springMvc.xml
1.配置控制器扫描包
<context:component-scan base-package="gao.xiaolei.controller"></context:component-scan>
2.配置视图解析器
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/pages/"></property> <property name="suffix" value=".jsp"></property> </bean>
3.开启springMvc注解支持
<mvc:annotation-driven></mvc:annotation-driven>
十二.接下来就是配置控制器Controller了
1.首先在类上加注解@Controller,以便扫描包能扫到
2.在类上加注解@RequestMapping
3.方法上加注解@RequestMapping
4.方法可以是ModelAndView , String ,void
好了写完了, 以后忘记了再看看