日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【转】SSM框架搭建流程与解析

發(fā)布時(shí)間:2024/10/8 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】SSM框架搭建流程与解析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SpringMVC部分

1? 引入Jar

spring-context

spring-webmvc

2? web.xml中 配置 核心攔截器? DispatchServlet

<servlet>

<servlet-name>springmvc</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>namespace</param-name>

<param-value>springmvc</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>springmvc</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>

注意:load-on-startup 必須在最后一個(gè)位置上

3 在WEB-INF下 就必須有一個(gè) springmvc的配置文件了? 文件名? 如果有 namespace 則用? namespace的值? 如果沒有? 則默認(rèn)為 servlet-name+"-servlet"

springmvc中 必須要配置的內(nèi)容

(1) 開啟注解驅(qū)動

<mvc:annotation-driven></mvc:annotation-driven>

(2) 掃描controller所在的包

<context:component-scan base-package="com.neuedu.controller"></context:component-scan>

希望被掃描到的類加@controller注解 希望被加載到handlerMapping中的方法 需要加 @RequestMapping注解

? springmvc會把 requestMapping中的地址 當(dāng)做 key? 下面的方法 當(dāng)做value 存入 handlerMapping中

? @RequestMapping注解也可以配置在類上? 如果配置在類上 那么方法中所有的RequestMapping在訪問的時(shí)候必須以類上的@RequestMapping為前綴

(3) 配置視圖解析器

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" ></property>

<property name="prefix" value="/WEB-INF/pages/"></property>

<property name="suffix" value=".jsp"></property>

</bean>

拿到返回值后會交給視圖解析器去轉(zhuǎn)發(fā)頁面 例如 返回值如果是 list? 則? 把前綴放在返回值的前面? 后綴放在返回值的后面形成一個(gè)jsp頁面的路徑 解析器再去轉(zhuǎn)發(fā)這個(gè)路徑

/WEB-INF/pages/list.jsp

如果是重定向? 返回值前面要加 redirect: 瀏覽器地址

如果方法上加上了 @ResponseBody注解? 代表 返回值會不經(jīng)過視圖解析器? 直接通過response輸出流輸出到瀏覽器上

SpringIOC 部分

管理對象的 bean? 需要把要進(jìn)行組裝的對象放進(jìn)IOC容器中

1 需要一個(gè)springIOC的配置文件 作用? 是把要管理的bean配置到該文件中? applicationContext.xml

2 在文件下配置要管理的bean

(1) 配置bean節(jié)點(diǎn)?

<bean id="自己起名(不可以重復(fù))" class="類的完全限定名">

<property name="set方法去掉set第一個(gè)字母變小寫" value="固定"? ref="bean節(jié)點(diǎn)的id"></property>

</bean>

(2) 掃描包+注解? 方式和springmvc的controller配置方式相同

<context:component-scan base-package="要掃描的包"></context:component-scan>

在被掃描到的包上 找類(找有注解的類,一共有4個(gè)注解都可以使用)

當(dāng)類與類之間有依賴關(guān)系的時(shí)候 (需要組裝的時(shí)候? 那么在被組裝的類中的屬性上 加@Resource注解)

加了注解后? 該屬性的值 就會在IOC容器中 發(fā)生依賴注入

mybatis 部分

1 導(dǎo)包

mybatis

mybatis-spring

mysql

spring-orm

druid

只要把連接池? SqlSessionFactory配到IOC容器后? 會自動進(jìn)行集成和注入

2 spring配置文件中? 配置連接池

<bean id="datasource" class="com.alibaba.druid.pool.DruidDataSource">

<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>

<property name="url" value="jdbc:mysql://127.0.0.1:3306/db1?useUnicode=true&amp;characterEncoding=utf8"></property>

<property name="username" value="root"></property>

<property name="password" value="123456"></property>

<property name="minIdle" value="5"></property>

<property name="maxActive" value="20"></property>

</bean>

3? spring配置文件中? 配置SqlSessionFactory

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<property name="dataSource" ref="datasource"></property>

<property name="typeAliasesPackage" value="com.neuedu.pojo"></property>

</bean>

4? 掃描mapper(dao接口)包

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

<property name="basePackage" value="com.neuedu.dao"></property>

</bean>



作者:一心一境_c877
鏈接:https://www.jianshu.com/p/d3dcdbd9c677

總結(jié)

以上是生活随笔為你收集整理的【转】SSM框架搭建流程与解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。