SSM整合學習筆記
阿新 • • 發佈:2018-04-28
point line 掃描器 ger 程序員 ann ssm整合 ssi 要求 SSM整合核心:
1、持久層:
org.mybatis.spring.mapper.MapperScannerConfigurer
自動掃描 將Mapper接口生成代理註入到Spring
<!-- 使用mapper批量掃描器掃描mapper接口
規則:mapper.xml和mapper.java在一個目錄 且同名即可
掃描出來mapper,自動讓spring容器註冊,bean的id就是mapper類名(首字母小寫)
-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 會話工廠 -->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryBean"/>
<!-- 掃描包路徑
多個包中間用半角逗號分隔
-->
<property name="basePackage" value="cn.itcast.ssm.dao.mapper"/>
</bean>
2、整合業務層
Spring管理service
整合目標:
Service通過spring調用mapper
<!-- 用戶管理 -->
<bean id="userService" class="cn.itcast.ssm.service.impl.UserServiceImpl"/>
3、控制層
action中通過spring調用service
<!-- 組件掃描 只掃描action -->
<context:component-scan base-package="cn.itcast.ssm.action" />
<!-- 使用<mvc:annotation-driven />替換上邊定義的處理器映射器和適配器 -->
<mvc:annotation-driven />
<!-- 視圖解析器 解析jsp視圖,默認使用jstl,要求classpath下有jstl的jar包 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 視圖的前綴 -->
<property name="prefix" value="/WEB-INF/jsp/" />
<!-- 視圖的後綴 -->
<property name="suffix" value=".jsp" />
</bean>
邏輯視圖說白了就是我們在action中return 的字符串。
<!-- 視圖的前綴 -->
<property name="prefix" value="/WEB-INF/jsp/" />
<!-- 視圖的後綴 -->
<property name="suffix" value=".jsp" />
實際是,在配置文件中:/WEB-INF/jsp/字符串.jsp
@Autowired來指定自動裝配,使用@Autowired可以標誌setter方法、普通方法、和構造器
當@Autowired標註Field時Spring會把容器中的與該Field類型匹配的Bean註入該屬性
事務控制
為了規範程序員編碼,采用聲明式事務配置方式。
在applicationContext.xml配置事務管理:
<!-- 事務管理器
mybatis使用jdbc事務管理
-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- 數據源 -->
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 通知 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<!-- 配置傳播行為 -->
<tx:attributes>
<tx:method name="save*" propagation="REQUIRED"/>
<tx:method name="insert*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="find*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="select*" propagation="SUPPORTS" read-only="true"/>
</tx:attributes>
</tx:advice>
<!-- aop配置 -->
<aop:config>
<aop:advisor advice-ref="txAdvice"
pointcut="execution(* cn.itcast.ssm.service.impl.*.*(..))"/>
</aop:config>
黃線是準備回歸的類
SSM整合學習筆記