国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Spring教程31】SSM框架整合實(shí)戰(zhàn):從零開始學(xué)習(xí)SSM整合配置,如何編寫Mybatis SpringMVC JDBC Spring配置類

這篇具有很好參考價(jià)值的文章主要介紹了【Spring教程31】SSM框架整合實(shí)戰(zhàn):從零開始學(xué)習(xí)SSM整合配置,如何編寫Mybatis SpringMVC JDBC Spring配置類。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

歡迎大家回到《Java教程之Spring30天快速入門》,本教程所有示例均基于Maven實(shí)現(xiàn),如果您對(duì)Maven還很陌生,請(qǐng)移步本人的博文《如何在windows11下安裝Maven并配置以及 IDEA配置Maven環(huán)境》,本文的上一篇為《Rest風(fēng)格簡介與RESTful入門》
【Spring教程31】SSM框架整合實(shí)戰(zhàn):從零開始學(xué)習(xí)SSM整合配置,如何編寫Mybatis SpringMVC JDBC Spring配置類,# SSM與SpringBoot教程,Java教程,spring,學(xué)習(xí),mybatis,SpringMVC,SSM,maven,java

前面我們已經(jīng)把Mybatis、Spring和SpringMVC三個(gè)框架進(jìn)行了學(xué)習(xí),今天主要的內(nèi)容就是把這三個(gè)框架整合在一起完成我們的業(yè)務(wù)功能開發(fā),具體如何來整合,我們一步步來學(xué)習(xí)。

1 流程分析

(1) 創(chuàng)建工程

  • 創(chuàng)建一個(gè)Maven的web工程
  • pom.xml添加SSM需要的依賴jar包
  • 編寫Web項(xiàng)目的入口配置類,實(shí)現(xiàn)AbstractAnnotationConfigDispatcherServletInitializer重寫以下方法
    • getRootConfigClasses() :返回Spring的配置類->需要SpringConfig配置類
    • getServletConfigClasses() :返回SpringMVC的配置類->需要SpringMvcConfig配置類
    • getServletMappings() : 設(shè)置SpringMVC請(qǐng)求攔截路徑規(guī)則
    • getServletFilters() :設(shè)置過濾器,解決POST請(qǐng)求中文亂碼問題
      (2)SSM整合[重點(diǎn)是各個(gè)配置的編寫]
  • SpringConfig
    • 標(biāo)識(shí)該類為配置類 @Configuration
    • 掃描Service所在的包 @ComponentScan
    • 在Service層要管理事務(wù) @EnableTransactionManagement
    • 讀取外部的properties配置文件 @PropertySource
    • 整合Mybatis需要引入Mybatis相關(guān)配置類 @Import
      • 第三方數(shù)據(jù)源配置類 JdbcConfig
        • 構(gòu)建DataSource數(shù)據(jù)源,DruidDataSouroce,需要注入數(shù)據(jù)庫連接四要素,@Bean @Value
        • 構(gòu)建平臺(tái)事務(wù)管理器,DataSourceTransactionManager,@Bean
      • Mybatis配置類 MybatisConfig
        • 構(gòu)建SqlSessionFactoryBean并設(shè)置別名掃描與數(shù)據(jù)源,@Bean
        • 構(gòu)建MapperScannerConfigurer并設(shè)置DAO層的包掃描
  • SpringMvcConfig
    • 標(biāo)識(shí)該類為配置類 @Configuration
    • 掃描Controller所在的包 @ComponentScan
    • 開啟SpringMVC注解支持 @EnableWebMvc
      (3)功能模塊[與具體的業(yè)務(wù)模塊有關(guān)]
  • 創(chuàng)建數(shù)據(jù)庫表
  • 根據(jù)數(shù)據(jù)庫表創(chuàng)建對(duì)應(yīng)的模型類
  • 通過Dao層完成數(shù)據(jù)庫表的增刪改查(接口+自動(dòng)代理)
  • 編寫Service層[Service接口+實(shí)現(xiàn)類]
    • @Service
    • @Transactional
    • 整合Junit對(duì)業(yè)務(wù)層進(jìn)行單元測(cè)試
      • @RunWith
      • @ContextConfiguration
      • @Test
  • 編寫Controller層
    • 接收請(qǐng)求 @RequestMapping @GetMapping @PostMapping @PutMapping @DeleteMapping
    • 接收數(shù)據(jù) 簡單、POJO、嵌套POJO、集合、數(shù)組、JSON數(shù)據(jù)類型
      • @RequestParam
      • @PathVariable
      • @RequestBody
    • 轉(zhuǎn)發(fā)業(yè)務(wù)層
      • @Autowired
    • 響應(yīng)結(jié)果
      • @ResponseBody

2 整合配置

掌握上述的知識(shí)點(diǎn)后,接下來,我們就可以按照上述的步驟一步步的來完成SSM的整合。

2.1 步驟1:創(chuàng)建Maven的web項(xiàng)目

可以使用Maven的骨架創(chuàng)建
【Spring教程31】SSM框架整合實(shí)戰(zhàn):從零開始學(xué)習(xí)SSM整合配置,如何編寫Mybatis SpringMVC JDBC Spring配置類,# SSM與SpringBoot教程,Java教程,spring,學(xué)習(xí),mybatis,SpringMVC,SSM,maven,java

2.2 步驟2:添加依賴

pom.xml添加SSM所需要的依賴jar包

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.itheima</groupId>
	<artifactId>springmvc_08_ssm</artifactId>
	<version>1.0-SNAPSHOT</version>
	<packaging>war</packaging>
	
	<dependencies>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>5.2.10.RELEASE</version>
		</dependency>
		
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>5.2.10.RELEASE</version>
		</dependency>
		
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>5.2.10.RELEASE</version>
		</dependency>
		
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.5.6</version>
		</dependency>
		
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.3.0</version>
		</dependency>
		
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.47</version>
		</dependency>
		
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.1.16</version>
		</dependency>
		
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.9.0</version>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.1</version>
					<configuration>
					<port>80</port>
					<path>/</path>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

2.3 步驟3:創(chuàng)建項(xiàng)目包結(jié)構(gòu)

【Spring教程31】SSM框架整合實(shí)戰(zhàn):從零開始學(xué)習(xí)SSM整合配置,如何編寫Mybatis SpringMVC JDBC Spring配置類,# SSM與SpringBoot教程,Java教程,spring,學(xué)習(xí),mybatis,SpringMVC,SSM,maven,java

  • config目錄存放的是相關(guān)的配置類
  • controller編寫的是Controller類
  • dao存放的是Dao接口,因?yàn)槭褂玫氖荕apper接口代理方式,所以沒有實(shí)現(xiàn)類包
  • service存的是Service接口,impl存放的是Service實(shí)現(xiàn)類
  • resources:存入的是配置文件,如Jdbc.properties
  • webapp:目錄可以存放靜態(tài)資源
  • test/java:存放的是測(cè)試類

2.4 步驟4:創(chuàng)建SpringConfig配置類

@Configuration
@ComponentScan({"com.itheima.service"})
@PropertySource("classpath:jdbc.properties")
@Import({JdbcConfig.class,MyBatisConfig.class})
@EnableTransactionManagement
public class SpringConfig {
}

2.5 步驟5:創(chuàng)建JdbcConfig配置類

public class JdbcConfig {
	@Value("${jdbc.driver}")
	private String driver;
	@Value("${jdbc.url}")
	private String url;
	@Value("${jdbc.username}")
	private String username;
	@Value("${jdbc.password}")
	private String password;
	@Bean
	public DataSource dataSource(){
		DruidDataSource dataSource = new DruidDataSource();
		dataSource.setDriverClassName(driver);
		dataSource.setUrl(url);
		dataSource.setUsername(username);
		dataSource.setPassword(password);
		return dataSource;
	}
	@Bean
	public PlatformTransactionManager transactionManager(DataSource
	dataSource){
		DataSourceTransactionManager ds = new DataSourceTransactionManager();
		ds.setDataSource(dataSource);
		return ds;
	}
}

2.6 步驟6:創(chuàng)建MybatisConfig配置類

public class MyBatisConfig {
	@Bean
	public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource){
		SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
		factoryBean.setDataSource(dataSource);
		factoryBean.setTypeAliasesPackage("com.itheima.domain");
		return factoryBean;
	}
	@Bean
	public MapperScannerConfigurer mapperScannerConfigurer(){
		MapperScannerConfigurer msc = new MapperScannerConfigurer();
		msc.setBasePackage("com.itheima.dao");
		return msc;
	}
}

2.7 步驟7:創(chuàng)建jdbc.properties

在resources下提供jdbc.properties,設(shè)置數(shù)據(jù)庫連接四要素

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/database_name
jdbc.username=root
jdbc.password=root

2.8 步驟8:創(chuàng)建SpringMVC配置類

@Configuration
@ComponentScan("com.itheima.controller")
@EnableWebMvc
public class SpringMvcConfig {
}

2.9 步驟9:創(chuàng)建Web項(xiàng)目入口配置類

public class ServletConfig extends
AbstractAnnotationConfigDispatcherServletInitializer {
	//加載Spring配置類
	protected Class<?>[] getRootConfigClasses() {
		return new Class[]{SpringConfig.class};
	}
	//加載SpringMVC配置類
	protected Class<?>[] getServletConfigClasses() {
		return new Class[]{SpringMvcConfig.class};
	}
	//設(shè)置SpringMVC請(qǐng)求地址攔截規(guī)則
	protected String[] getServletMappings() {
		return new String[]{"/"};
	}
	//設(shè)置post請(qǐng)求中文亂碼過濾器
	@Override
	protected Filter[] getServletFilters() {
		CharacterEncodingFilter filter = new CharacterEncodingFilter();
		filter.setEncoding("utf-8");
		return new Filter[]{filter};
	}
}

至此SSM整合的環(huán)境就已經(jīng)搭建好了。在這個(gè)環(huán)境上,我們?nèi)绾芜M(jìn)行功能模塊的開發(fā)呢?我們下一節(jié)開始學(xué)習(xí)如何進(jìn)行功能模塊開發(fā)文章來源地址http://www.zghlxwxcb.cn/news/detail-760479.html

到了這里,關(guān)于【Spring教程31】SSM框架整合實(shí)戰(zhàn):從零開始學(xué)習(xí)SSM整合配置,如何編寫Mybatis SpringMVC JDBC Spring配置類的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 從零開始的Django框架入門到實(shí)戰(zhàn)教程(內(nèi)含實(shí)戰(zhàn)實(shí)例) - 01 創(chuàng)建項(xiàng)目與app、加入靜態(tài)文件、模板語法介紹(學(xué)習(xí)筆記)

    從零開始的Django框架入門到實(shí)戰(zhàn)教程(內(nèi)含實(shí)戰(zhàn)實(shí)例) - 01 創(chuàng)建項(xiàng)目與app、加入靜態(tài)文件、模板語法介紹(學(xué)習(xí)筆記)

    ??Django是目前比較火爆的框架,之前有在知乎刷到,很多畢業(yè)生進(jìn)入大廠實(shí)習(xí)后因?yàn)椴粫?huì)git和Django框架3天就被踢掉了,因?yàn)樗麄兒茈y把自己的工作融入到整個(gè)組的工作中。因此,我嘗試自學(xué)Django并整理出如下筆記。 ??在這部分,我將從Django的安裝講起,從創(chuàng)建項(xiàng)目到制

    2024年02月09日
    瀏覽(27)
  • 【Spring教程12】Spring框架實(shí)戰(zhàn):Spring整合Mybatis全面深入詳解

    【Spring教程12】Spring框架實(shí)戰(zhàn):Spring整合Mybatis全面深入詳解

    歡迎大家回到《 Java教程之Spring30天快速入門》,本教程所有示例均基于Maven實(shí)現(xiàn),如果您對(duì)Maven還很陌生,請(qǐng)移步本人的博文《 如何在windows11下安裝Maven并配置以及 IDEA配置Maven環(huán)境》,本文的上一篇為《 IOC/DI注解開發(fā)管理第三方bean》 學(xué)習(xí)到這里,已經(jīng)對(duì)Spring有一個(gè)簡單的認(rèn)

    2024年02月04日
    瀏覽(25)
  • SSM框架整合詳細(xì)教程

    SSM框架整合詳細(xì)教程

    目錄 1. 什么是SSM ? 2. SSM整合的時(shí)候容器之間如何訪問 3. SSM下面的開發(fā)步驟 4. SSM整合時(shí)候時(shí)容易混亂的知識(shí)點(diǎn) SSM是對(duì)三個(gè)框架名字的簡寫,其中第一個(gè)S指的是SpringMVC,第二個(gè)S指的是Spring,第三個(gè)M指的是Mybatis。下面用一個(gè)簡單的圖展示一下: 答案:在進(jìn)行SSM整合的時(shí)候,會(huì)

    2024年02月03日
    瀏覽(18)
  • Kubernetes超詳細(xì)教程,一篇文章幫助你從零開始學(xué)習(xí)k8s,從入門到實(shí)戰(zhàn)

    Kubernetes超詳細(xì)教程,一篇文章幫助你從零開始學(xué)習(xí)k8s,從入門到實(shí)戰(zhàn)

    k8s github地址:https://github.com/kubernetes/kubernetes 官方文檔:https://kubernetes.io/zh-cn/docs/home/ k8s,全程是 kubernetes,這個(gè)名字源于希臘語,意為\\\"舵手\\\"或\\\"飛行員” k8s 這個(gè)縮寫是因?yàn)?k 和 s 之間有八個(gè)字符 Google 在2014年開源了 k8s 項(xiàng)目,k8s 是一個(gè)用于 自動(dòng)化部署、擴(kuò)展和管理容器化

    2024年04月14日
    瀏覽(57)
  • SSM框架整合:掌握Spring+Spring MVC+MyBatis的完美結(jié)合!

    SSM框架整合:掌握Spring+Spring MVC+MyBatis的完美結(jié)合!

    (1) 創(chuàng)建工程 創(chuàng)建一個(gè)Maven的web工程 pom.xml添加SSM需要的依賴jar包 編寫Web項(xiàng)目的入口配置類,實(shí)現(xiàn) AbstractAnnotationConfigDispatcherServletInitializer 重寫以下方法。 getRootConfigClasses() :返回Spring的配置類-需要 SpringConfig 配置類。 getServletConfigClasses() :返回SpringMVC的配置類-需要 SpringMvc

    2024年01月17日
    瀏覽(21)
  • 【Spring+SpringMVC+Mybatis】SSM框架的整合、思想、工作原理和優(yōu)缺點(diǎn)的略微講解

    【Spring+SpringMVC+Mybatis】SSM框架的整合、思想、工作原理和優(yōu)缺點(diǎn)的略微講解

    ??歡迎來到本文?? ??個(gè)人簡介:陳童學(xué)哦,目前學(xué)習(xí)C/C++、算法、Python、Java等方向,一個(gè)正在慢慢前行的普通人。 ??系列專欄:陳童學(xué)的日記 ??其他專欄:C++STL,感興趣的小伙伴可以看看。 ??希望各位→點(diǎn)贊?? + 收藏?? + 留言?? ? ??萬物從心起,心動(dòng)則萬物動(dòng)??

    2024年02月10日
    瀏覽(25)
  • 聯(lián)邦學(xué)習(xí)實(shí)戰(zhàn)-1:用python從零開始實(shí)現(xiàn)橫向聯(lián)邦學(xué)習(xí)

    聯(lián)邦學(xué)習(xí)實(shí)戰(zhàn)-1:用python從零開始實(shí)現(xiàn)橫向聯(lián)邦學(xué)習(xí)

    什么是聯(lián)邦學(xué)習(xí)? 簡單來說就是在一個(gè)多方的環(huán)境中,數(shù)據(jù)集是零散的(在各個(gè)不同的客戶端中),那么怎樣實(shí)現(xiàn)機(jī)器學(xué)習(xí)算法呢? 首先想到的就是將多個(gè)數(shù)據(jù)集合并合并起來,然后統(tǒng)一的使用傳統(tǒng)的機(jī)器學(xué)習(xí)或者深度學(xué)習(xí)算法進(jìn)行計(jì)算,但是如果有一方因?yàn)閿?shù)據(jù)隱私問題

    2023年04月08日
    瀏覽(148)
  • SSM框架學(xué)習(xí)-Spring事務(wù)

    SSM框架學(xué)習(xí)-Spring事務(wù)

    數(shù)據(jù)庫事務(wù)和Spring中的事務(wù)是兩個(gè)不同的概念,但Spring中的事務(wù)是建立在數(shù)據(jù)庫事務(wù)之上的。 數(shù)據(jù)庫事務(wù)是指一組數(shù)據(jù)庫操作,要么全部成功執(zhí)行,要么全部回滾(撤銷)。這么做是為了保證數(shù)據(jù)庫的一致性和完整性。在數(shù)據(jù)庫操作過程中,如果其中任意一步操作失敗,整個(gè)

    2024年02月05日
    瀏覽(28)
  • 從零開始的QQ開放平臺(tái)機(jī)器人-------Gensokyo框架部署運(yùn)行開發(fā)教程合集

    從零開始的QQ開放平臺(tái)機(jī)器人-------Gensokyo框架部署運(yùn)行開發(fā)教程合集

    大家好,我是早苗狐,一名有5年QQ機(jī)器人開發(fā)運(yùn)營經(jīng)驗(yàn)的機(jī)器人愛好者. 隨著QQ為機(jī)器人開放了越來越多的接口能力,基于QQ開放平臺(tái)Api能力的新框架逐漸應(yīng)運(yùn)而生, 本文就帶給大家如何通過一系列操作,部署,運(yùn)行,維護(hù)和開發(fā)一個(gè)新的QQ機(jī)器人. QQ開放平臺(tái)地址: QQ開放平臺(tái) QQ開放平臺(tái)

    2024年02月03日
    瀏覽(49)
  • IDEA版SSM入門到實(shí)戰(zhàn)(Maven+MyBatis+Spring+SpringMVC) -Spring搭建框架步驟

    第一章 初識(shí)Spring 1.1 Spring簡介 Spring是一個(gè)為簡化企業(yè)級(jí)開發(fā)而生的 開源框架 。 Spring是一個(gè) IOC(DI) 和 AOP 容器框架。 IOC全稱:Inversion of Control【控制反轉(zhuǎn)】 將對(duì)象【萬物皆對(duì)象】控制權(quán)交個(gè)Spring DI全稱:(Dependency Injection):依賴注入 AOP全稱:Aspect-Oriented Programming,面向切面編

    2024年02月04日
    瀏覽(53)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包