首页 文章 精选 留言 我的

精选列表

搜索[搭建],共10000篇文章
优秀的个人博客,低调大师

CentOS7中搭建nodejs10(VUE)开发环境踩坑指南

Centos7安装npm|nodejs的步骤 阿里的nodejs网站 https://npm.taobao.org/ 安装一些必要的库 [root@master ~]# yum install gcc gcc-c++ [hadoop@master Downloads]$ pwd /home/hadoop/Downloads 下载各个版本的,自己根据项目要求,使用对应的版本。 [hadoop@master Downloads]$ wget https://npm.taobao.org/mirrors/node/latest-v12.x/node-v12.0.0-linux-x64.tar.gz [hadoop@master Downloads]$ wget https://npm.taobao.org/mirrors/node/latest-v11.x/node-v11.0.0-linux-x64.tar.gz [hadoop@master Downloads]$ wget https://npm.taobao.org/mirrors/node/latest-v10.x/node-v10.0.0-linux-x64.tar.gz [hadoop@master Downloads]$ wget https://npm.taobao.org/mirrors/node/latest-v9.x/node-v9.0.0-linux-x64.tar.gz [hadoop@master Downloads]$ pwd /home/hadoop/Downloads [hadoop@master Downloads]$ wget https://npm.taobao.org/mirrors/node/latest-v12.x/node-v12.0.0-linux-x64.tar.gz --2019-10-11 10:07:38-- https://npm.taobao.org/mirrors/node/latest-v12.x/node-v12.0.0-linux-x64.tar.gz Resolving npm.taobao.org (npm.taobao.org)... 114.55.80.225 Connecting to npm.taobao.org (npm.taobao.org)|114.55.80.225|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://cdn.npm.taobao.org/dist/node/latest-v12.x/node-v12.0.0-linux-x64.tar.gz [following] --2019-10-11 10:07:38-- https://cdn.npm.taobao.org/dist/node/latest-v12.x/node-v12.0.0-linux-x64.tar.gz Resolving cdn.npm.taobao.org (cdn.npm.taobao.org)... 39.156.4.182, 39.156.4.179, 111.32.158.131 Connecting to cdn.npm.taobao.org (cdn.npm.taobao.org)|39.156.4.182|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 20935407 (20M) [application/octet-stream] Saving to: ‘node-v12.0.0-linux-x64.tar.gz’ 100%[=========================================================================================================================================================================>] 20,935,407 3.63MB/s in 5.7s 2019-10-11 10:07:44 (3.49 MB/s) - ‘node-v12.0.0-linux-x64.tar.gz’ saved [20935407/20935407] [hadoop@master Downloads]$ [hadoop@master nodejs]$ pwd /home/hadoop/nodejs [hadoop@master nodejs]$ tar -xzvf ~/Downloads/node-v12.0.0-linux-x64.tar.gz -C . [hadoop@master nodejs]$ tar -xzvf ~/Downloads/node-v11.0.0-linux-x64.tar.gz -C . [hadoop@master nodejs]$ tar -xzvf ~/Downloads/node-v10.0.0-linux-x64.tar.gz -C . [hadoop@master nodejs]$ tar -xzvf ~/Downloads/node-v9.0.0-linux-x64.tar.gz -C . 使用软连接,这样方便日后切换不同的nodejs版本 [hadoop@master nodejs]$ ln -s node-v12.0.0-linux-x64 node [hadoop@master nodejs]$ ls -al total 4 drwxrwxr-x. 3 hadoop hadoop 48 Oct 11 10:12 . drwx------. 75 hadoop hadoop 4096 Oct 11 10:06 .. lrwxrwxrwx. 1 hadoop hadoop 22 Oct 11 10:12 node -> node-v12.0.0-linux-x64 drwxr-xr-x. 6 hadoop hadoop 108 Apr 23 20:38 node-v12.0.0-linux-x64 [root@master ~]# vi /etc/profile #set for nodejs export NODE_HOME=/home/hadoop/nodejs/node export PATH=$NODE_HOME/bin:$PATH [root@master ~]# source /etc/profile [root@master ~]# node -v v12.0.0 [root@master ~]# npm -v 6.9.0 [root@master ~]# 如果当前目录没有【package.json】文件,那么就需要初始化 [hadoop@master nodejs]$ source /etc/profile [hadoop@master nodejs]$ npm init -y Wrote to /home/hadoop/nodejs/package.json: { "name": "nodejs", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" } [hadoop@master nodejs]$ vi package.json [hadoop@master nodejs]$ npm install --registry=https://registry.npm.taobao.org up to date in 0.402s 这样是将项目声明为私有,就不会报缺少README文件和仓库字段了 "dev": "webpack-dev-server --inline --hot --open --port 5008" "serve":"vue-cli-service serve", "build","vue-cli-service build", "lint":"vue-cli-service lint" [hadoop@master nodejs]$ npm install --registry=https://registry.npm.taobao.org [hadoop@master nodejs]$ npm install npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) added 385 packages in 5.564s [hadoop@master nodejs]$ ls -al total 164 drwxrwxr-x. 7 hadoop hadoop 202 Oct 11 15:35 . drwx------. 78 hadoop hadoop 4096 Oct 11 15:28 .. lrwxrwxrwx. 1 hadoop hadoop 25 Oct 11 15:34 node -> ./node-v10.0.0-linux-x64/ drwxrwxr-x. 315 hadoop hadoop 12288 Oct 11 15:35 node_modules --->npm install新增加出来的模块(将来重新下载模块,可以直接删除这个目录) drwxrwxr-x. 7 hadoop hadoop 119 Oct 11 15:35 node-v10.0.0-linux-x64 drwxrwxr-x. 6 hadoop hadoop 108 Oct 23 2018 node-v11.0.0-linux-x64 drwxr-xr-x. 6 hadoop hadoop 138 Oct 11 15:34 node-v12.0.0-linux-x64 drwxrwxr-x. 6 hadoop hadoop 108 Nov 1 2017 node-v9.0.0-linux-x64 -rw-rw-r--. 1 hadoop hadoop 659 Oct 11 14:24 package.json -rw-rw-r--. 1 hadoop hadoop 136796 Oct 11 15:35 package-lock.json [hadoop@master nodejs]$ npm install webpack-dev-server -g /home/hadoop/nodejs/node-v12.0.0-linux-x64/bin/webpack-dev-server -> /home/hadoop/nodejs/node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/bin/webpack-dev-server.js npm WARN webpack-dev-server@3.8.2 requires a peer of webpack@^4.0.0 but none is installed. You must install peer dependencies yourself. npm WARN webpack-dev-middleware@3.7.2 requires a peer of webpack@^4.0.0 but none is installed. You must install peer dependencies yourself. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/webpack-dev-server/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) + webpack-dev-server@3.8.2 added 390 packages from 268 contributors in 74.896s 安装了cnpm模块后,就可以使用cnpm命令来安装一些其他模块了 [hadoop@master nodejs]$ npm install -g cnpm --registry=https://registry.npm.taobao.org /home/hadoop/nodejs/node-v12.0.0-linux-x64/bin/cnpm -> /home/hadoop/nodejs/node-v12.0.0-linux-x64/lib/node_modules/cnpm/bin/cnpm + cnpm@6.1.0 added 683 packages from 915 contributors in 38.37s [hadoop@master nodejs]$ cnpm install webpack ⠙ [0/1] Installing is-buffer@^1.1.5platform unsupported webpack@4.41.0 › watchpack@1.6.0 › chokidar@2.1.8 › fsevents@^1.2.7 Package require os(darwin) not compatible with your platform(linux) [fsevents@^1.2.7] optional install error: Package require os(darwin) not compatible with your platform(linux) Installed 1 packages Linked 270 latest versions Run 0 scripts Recently updated (since 2019-10-04): 3 packages (detail see file /home/hadoop/nodejs/node_modules/.recently_updates.txt) All packages installed (297 packages installed from npm registry, used 8s(network 8s), speed 638.93kB/s, json 271(546.65kB), tarball 4.46MB) [hadoop@master nodejs]$ npm install --save-dev webpack [hadoop@master nodejs]$ cnpm install webpack-dev-server [hadoop@master nodejs]$ cnpm install --save-dev webpack-cli [hadoop@master nodejs]$ cnpm install webpack-dev-server -g 永久切换为阿里源 [hadoop@master nodejs]$ npm config set registry https://registry.npm.taobao.org 查询是否切换成功了 [hadoop@master nodejs]$ npm config get registry https://registry.npm.taobao.org/ [hadoop@master nodejs]$ pwd /home/hadoop/nodejs [hadoop@master nodejs]$ find ./ -name webpack*.js 安装webpack cnpm install webpack -g 安装vue脚手架 npm install vue-cli -g [hadoop@master nodejs]$ cnpm install webpack [hadoop@master nodejs]$ cnpm install [hadoop@master nodejs]$ cnpm run dev 如果一切正常了,那么就可以启动开发模式了,启动后会卡在这里,并且启动成功后,会打开8080端口,开启一个http的页面,我们访问这个页面,可以看到nodejs的相关目录内容 [hadoop@master nodejs]$ npm run dev > nodejs@1.0.0 dev /home/hadoop/nodejs > webpack-dev-server --inline --progress --config node/lib/node_modules/webpack-dev-server/bin/webpack-dev-server.js 40% building 1/2 modules 1 active /home/hadoop/nodejs/node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/client/index.js?http://localhost:8080ℹ 「wds」: Project is running at http://localhost:8080/ ℹ 「wds」: webpack output is served from / ℹ 「wds」: Content not from webpack is served from /home/hadoop/nodejs 「wdm」: Hash: f13ad31a69df887be4b7 Version: webpack 4.41.0 Time: 518ms Built at: 10/11/2019 2:24:38 PM Asset Size Chunks Chunk Names main.js 365 KiB main [emitted] main Entrypoint main = main.js [0] multi ./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/client?http://localhost:8080 ./src 40 bytes {main} [built] [./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/client/clients/SockJSClient.js] 3.33 KiB {main} [built] [./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/client/index.js?http://localhost:8080] ./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/client?http://localhost:8080 4.29 KiB {main} [built] [./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/client/overlay.js] 3.51 KiB {main} [built] [./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/client/socket.js] 1.53 KiB {main} [built] [./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/client/utils/createSocketUrl.js] 2.89 KiB {main} [built] [./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/client/utils/getCurrentScriptSource.js] 658 bytes {main} [built] [./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/client/utils/log.js] 964 bytes {main} [built] [./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/client/utils/reloadApp.js] 1.59 KiB {main} [built] [./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/client/utils/sendMessage.js] 402 bytes {main} [built] [./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/node_modules/ansi-html/index.js] 4.16 KiB {main} [built] [./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/node_modules/ansi-regex/index.js] 135 bytes {main} [built] [./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/node_modules/html-entities/index.js] 231 bytes {main} [built] [./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/node_modules/strip-ansi/index.js] 161 bytes {main} [built] [./node_modules/webpack/hot sync ^\.\/log$](webpack)/hot sync nonrecursive ^\.\/log$ 170 bytes {main} [built] + 17 hidden modules ERROR in Entry module not found: Error: Can't resolve './src' in '/home/hadoop/nodejs' ERROR in multi ./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/client?http://localhost:8080 ./src Module not found: Error: Can't resolve './src' in '/home/hadoop/nodejs' @ multi ./node-v12.0.0-linux-x64/lib/node_modules/webpack-dev-server/client?http://localhost:8080 ./src main[1] ℹ 「wdm」: Failed to compile. cd 命令进入eclipse/idea创建的工程目录 [hadoop@master vuesys]$ pwd /home/hadoop/IdeaProjects/vuesys 安装项目依赖一定要从官方仓库安装,npm 服务器在国外所以这一步安装速度会很慢。这个install的命令一定要在eclipse,或者idea的前段代码所在路径进行安装 [hadoop@master vuesys]$ pwd /home/hadoop/IdeaProjects/vuesys [hadoop@master vuesys]$ npm install 不要从国内镜像cnpm安装(会导致后面缺了很多依赖库) [hadoop@master vuesys]$ cnpm install 如果是已经存在的项目(package.json直接是已经存在的),那么可以尝试直接运行: [hadoop@master nodejs]$ npm run dev [hadoop@master vuesys]$ ls -al total 120 drwxr-xr-x. 9 hadoop hadoop 4096 Oct 11 15:28 . drwxrwxr-x. 25 hadoop hadoop 4096 Oct 11 14:43 .. -rw-r--r--. 1 hadoop hadoop 337 Oct 11 14:43 .babelrc drwxr-xr-x. 2 hadoop hadoop 200 Oct 11 14:43 build -rw-r--r--. 1 hadoop hadoop 2371 Oct 11 14:43 CHANGELOG.md drwxr-xr-x. 2 hadoop hadoop 78 Oct 11 14:43 config -rw-r--r--. 1 hadoop hadoop 147 Oct 11 14:43 .editorconfig -rw-r--r--. 1 hadoop hadoop 74 Oct 11 14:43 .eslintignore -rw-r--r--. 1 hadoop hadoop 576 Oct 11 14:43 .eslintrc.js -rw-r--r--. 1 hadoop hadoop 212 Oct 11 14:43 .gitignore -rw-r--r--. 1 hadoop hadoop 2670 Oct 11 14:43 gulpfile.js drwxr-xr-x. 2 hadoop hadoop 62 Oct 11 15:20 .idea -rw-r--r--. 1 hadoop hadoop 977 Oct 11 14:43 index.html -rw-r--r--. 1 hadoop hadoop 1057 Oct 11 14:43 LICENSE drwxrwxr-x. 1150 hadoop hadoop 36864 Oct 11 15:28 node_modules ---》新生成的模块目录 -rw-r--r--. 1 hadoop hadoop 3082 Oct 11 14:43 package.json -rw-r--r--. 1 hadoop hadoop 223 Oct 11 14:43 .postcssrc.js -rw-r--r--. 1 hadoop hadoop 8 Oct 11 14:43 README.md drwxr-xr-x. 12 hadoop hadoop 188 Oct 11 14:43 src drwxr-xr-x. 5 hadoop hadoop 46 Oct 11 14:43 static drwxr-xr-x. 4 hadoop hadoop 29 Oct 11 14:43 test -rw-rw-r--. 1 hadoop hadoop 335 Oct 11 15:18 vuesys.iml 安装 vue 路由模块vue-router和网络请求模块vue-resource cnpm install vue-router vue-resource --save 启动项目 npm run dev [hadoop@master nodejs]$ npm update -g [hadoop@master nodejs]$ npm update vue-cli 安装一下这个依赖到工程开发环境 cnpm install opn --save-dev cnpm install webpack-dev-middleware --save-dev cnpm install express --save-dev cnpm install compression --save-dev cnpm install sockjs --save-dev cnpm install spdy --save-dev cnpm install http-proxy-middleware --save-dev cnpm install serve-index --save-dev cnpm install connect-history-api-fallback --save-dev cnpm install babel-helpers --save-dev cnpm install babel-traverse --save-dev cnpm install json5 --save-dev 遇到Module build failed: Error: Cannot find module '模块名'那就安装cnpm install 模块名 --save-dev(关于环境的,表现为npm run dev 启动不了)cnpm install 模块名 --save(关于项目的,比如main.js,表现为npm run dev 成功之后控制台报错)比如escape-string-regexp、strip-ansi、has-ansi、is-finite、emojis-list 输入完命令会自动打开浏览器,如果默认打开 IE 不行(这里所有的操作,都是在idea,eclipse的目录中完成的) [hadoop@master nodejs]$ npm run dev > renren-fast-vue@1.2.2 dev /home/hadoop/IdeaProjects/vuesys > webpack-dev-server --inline --progress --config build/webpack.dev.conf.js 26% building modules 134/174 modules 40 active ...adoop/IdeaProjects/vuesys/src/App.vueNo parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred. 37% building modules 233/281 modules 48 active ...sys/src/components/icon-svg/index.vueNo parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred. 40% building modules 258/305 modules 47 active ...ects/vuesys/src/views/main-navbar.vueNo parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred. ..............................................这里省略很多重复的内容 .............................................. 60% building modules 419/461 modules 42 active ...cts/vuesys/src/views/demo/echarts.vueNo parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred. 66% building modules 512/547 modules 35 active ...omponents/table-tree-column/index.vueNo parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred. 95% emitting DONE Compiled successfully in 14744ms 15:55:09 I Your application is running here: http://localhost:8001 看不到任何错误,并且系统会【自动】把浏览器打开,把首页打开的。

优秀的个人博客,低调大师

手把手教你配置阿里云服务器搭建网站

写在前面 出于好奇,我用学生优惠租了一台阿里云服务器,打算做一些Java web的开发,但是毕竟是第一次接触这样的东西,还是比较懵逼,在这个过程中遇到了一些问题(肯定会遇到问题的),但是呢,在网上搜解决办法的时候,总是历经波折才能找到我最后想要的东西,所以我想把我配置阿里云的时候踩过的坑填一下,如果你按照我的方法成功解决的问题,别忘了给我点个赞 不定期续更 购买服务器 学生的话,阿里推出了一个叫云翼计划的产品,通过学生认证之后可以享受超便宜的价格,我的账号是支付宝账号,之前就有过学生认证。云翼计划的入口在这儿云翼计划 配置服务器 如果我是学生,我如何通过¥9.9买到价值¥117的服务?答:用¥9.9购买云服务器ECS是阿里云学生专属活动。首先,你需要在阿里云官网注册账号,然后在阿里云官网首页点击校园扶持 如果我不是学生,我如何通过¥30买到价值

优秀的个人博客,低调大师

手把手带你实现Spring、Spring MVC与Mybatis整合工程的搭建

1.整合的思路 1.在Mybatis3.x与Spring3.x整合的基础上再进行Spring MVC框架的整合。 2.Spring要管理Spring MVC编写的Handler(controller)、Mybatis的SqlSessionFactory、mapper、数据源。 其实整合思路就是下面这三步: 第一步:整合dao(即mapper),完成Spring与Mybatis的整合。 第二步:整合service,Spring管理service接口,service中可以调用Spring容器中的dao(mapper)。 第三步:整合controller,Spring管理controller接口,在controller调用service。 2.导入jar包 mybatis-3.x.jar、spring3.x.jar(包含springmvc的jar包)、mybatis与spring的整合jar、数据库驱动包、log4j.jar、jstl.jar。如下: 3.工程结构 3.1需要创建的配置文件 applicationContext-dao.xml—配置数据源、SqlSessionFactory、mapper扫描器。 applicationContext-service.xml—配置service接口。 applicationContext-transaction.xml–事务管理。 sprintmvc.xml—springmvc的配置,配置处理器映射器、适配器、视图解析器(这里我们统一采用注解的方式进行开发)。 SqlMapConfig.xml—mybatis的配置文件,配置别名、settings、mapper。 工程目录如下: 3.2各个配置文件的内容 applicationContext-dao.xml: <beansxmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> <!--加载配置文件--> <context:property-placeholderlocation="classpath:config/db.properties"/> <!--数据库连接池--> <beanid="dataSource"class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <propertyname="driverClassName"value="${jdbc.driver}"/> <propertyname="url"value="${jdbc.url}"/> <propertyname="username"value="${jdbc.username}"/> <propertyname="password"value="${jdbc.password}"/> <propertyname="maxIdle"value="5"/> </bean> <!--SqlsessionFactory--> <beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"> <!--数据源--> <propertyname="dataSource"ref="dataSource"/> <!--mybatis配置文件--> <propertyname="configLocation"value="classpath:config/mybatis/SqlMapConfig.xml"/> </bean> <!-- MapperScannerConfigurer:mapper的扫描器,将包下边的mapper接口自动创建代理对象, 自动创建到spring容器中,bean的id是mapper的类名(首字母小写) --> <beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!--配置扫描包的路径 如果要扫描多个包,中间使用半角逗号分隔 要求mapper.xml和mapper.java同名且在同一个目录 --> <propertyname="basePackage"value="mapper"/> <!--使用sqlSessionFactoryBeanName--> <propertyname="sqlSessionFactoryBeanName"value="sqlSessionFactory"/> </bean> </beans> applicationContext-service.xml: <beansxmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> </beans> applicationContext-transaction.xml:配置事务,在配置文件中使用声明式事务配置 <beansxmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> <!--使用声明式的控制配置,可以有效的规范代码--> <!--事务管理器的配置--> <beanid="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <propertyname="dataSource"ref="dataSource"/> </bean> <!--配置通知--> <tx:adviceid="txAdvice"transaction-manager="transactionManager"> <tx:attributes> <tx:methodname="sava"propagation="REQUIRED"/> <tx:methodname="insert*"propagation="REQUIRED"/> <tx:methodname="update*"propagation="REQUIRED"/> <tx:methodname="delete*"propagation="REQUIRED"/> <tx:methodname="find*"propagation="SUPPORTS"read-only="true"/> <tx:methodname="select*"propagation="SUPPORTS"read-only="true"/> <tx:methodname="get*"propagation="SUPPORTS"read-only="true"/> </tx:attributes> </tx:advice> <!--配置aop--> <aop:config> <aop:advisoradvice-ref="txAdvice"pointcut="execution(*service.impl.*.*(..))"/> </aop:config> </beans> sprintmvc.xml: <beansxmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> <!--使用spring组件扫描 一次性配置此包下所有的Handler--> <context:component-scanbase-package="controller"/> <!--注解处理器映射器--> <beanclass="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> <!--注解的适配器--> <beanclass="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> <!--配置视图解析器 要求将jstl的包加到classpath prefix:代表请求url的前缀 suffix:代表请求url的后缀 设置了这两个属性值后我们在Controller中进行代码开发时返回的modelandview对象设置的页面路径值就不用带前缀名和后缀名了--> <beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"> <propertyname="prefix"value="/WEB-INF/jsp/"/> <propertyname="suffix"value=".jsp"/> </bean> <!DOCTYPEconfiguration PUBLIC"-//mybatis.org//DTDConfig3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!--定义别名--> <typeAliases> <!--批量别名定义指定包路径,自动扫描包下边的pojo,定义别名,别名默认为类名(首字母小写或大写)--> <packagename="po"/> </typeAliases> <!--由于使用了spring和mybatis整合的mapper扫描器,--> <!--这里就不用配置了--> <!--<mappers>--> <!--<packagename="mapper"/>--> <!--</mappers>--> </configuration> 在web.xml文件中加入对前端控制器的配置: <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--加载springmvc配置文件--> <init-param> <param-name>contextConfigLocation</param-name> <!--配置文件的地址 如果不配置contextConfigLocation,默认查找的配置文件名称是classpath下的:servlet名称+"-servlet.xml"即springmvc-servlet.xml--> <param-value>springmvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <!--可以配置/:此工程所有的请求全部由springmvc解析,此种方式可以实现RESTful方式,需要特殊处理对静态文件的解析不能由springmvc解析 可以配置*.do或者*.action,所有请求的url扩展名为.do或.action由springmvc解析,此中方法常用 不可以配置/*,如果配置/*,返回jsp也由springmvc解析,这是不对的--> <url-pattern>*.action</url-pattern> </servlet-mapping> 另外还需要添加数据库的配置文件db.properties: jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis jdbc.username=root jdbc.password=xiaxunwu1996. 在src下创建各个包:mapper、po、controller、service,在web包下创建页面包jsp,工程目录如下: 经过上述步骤,我们便完成了Spring、Spring MVC与Mybatis的整合,是不是很简单?没错就是这么简单。可是整合后又该如何进行web项目的开发呢?接下来我将通过下篇文章一个案例带你快速入门SSM开发介绍利用Spring、Spring MVC与Mybatis的整合项目进行开发一个案例带你快速学会使用SSM框架开发项目。 转自:http://codingxiaxw.cn/2016/11/15/44-ssm%E7%9A%84%E6%95%B4%E5%90%88/

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册