前言
准备开发一套部门管理系统 涉及到权限控制,log日志输出管理,generator自动生成mapper、实体类、dao层,mybaties SQL监控等等。选用的框架为SSM 本次就是详细记录一下 搭建的详细过程 然后做一个备忘录 共享出来让大家也可以参考一下 多多交流 留言评论 多批评zhi zheng
首先
IED :STS
jdk :1.8
项目工程 :
使用java项目 手动配置 没有选用maven,原因:手动配置容易控制 很容易找到问题出现在哪里,问题出在哪里 找哪里
jar包:
设计表结构:
设计了好几张表 这里可以省略 这里你可以自己随便一个库在对应的库里设计几张表
创建项目目录
分别有domain-实体类 dao层-mybaties的接口 这里我创建了一个common包里面是自己定义的一个工具类,还有一个exceptionhander是一个异常监听处理器。这俩部分可以忽略。接下来定义web项目所需的目录 固定套路:webapp-可以自定义,
WEB-INF--固定写法不能变 lib--存放jar包的地方 classes--项目字节码存放的地方 web.xml--web项目的入口,这几个都是固定的。
然后导入jar 部署项目 更改项目字节码存放地址更改为 classes的目录。 这样一个项目架子搭建完成了
部署项目和更改字节码的存放目录:
部署项目,我用的是一个插件 三只可爱的小猫 我认为很好用,自己百度一下安装一下,然后关联一下tomcat,拷贝webapp的所在目录,放置到tomcat的conf目录下server.xml文件中, 相当于告诉tomcat服务器项目的所在位置。 更改classes文件的位置:选中classes文件 右键 buildpath 找到sorce模块 点击browser更改default output folder 文件更改到clases的位置:
接下来就开始正题:
从web项目的入口开始配置:web.xml
首先考虑 一个springMVC的组件分为:前端控制器相当于servlet中的拦截器 拦截所有的请求,还有一个处理器映射器--根据url找到对应的controller类, 处理器适配器--根据controller类找到对应的controller中的方法 视图解析器--把数据封装为前端展示的数据 最后到自己的处理器--controller--自己处理请求的一些逻辑。
"1.0" encoding="utf-8" ?>
"http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0" >
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:SpringMVC.xml
1
SpringMVC
/
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
encodingFilter
/*
logbackConfigLocation
classpath:logback.xml
DruidWebStatFilter
com.alibaba.druid.support.http.WebStatFilter
exclusions
*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
DruidWebStatFilter
/*
DruidStatView
com.alibaba.druid.support.http.StatViewServlet
loginUsername
root
loginPassword
wangqiang
DruidStatView
/sys/druid/*
然后整合springMVC配置:springMVC.xml
"1.0" encoding="UTF-8" ?>
"http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.3.xsd" >
"classpath:ApplicationContext.xml"/>
"Controller" />
"dao" />
"Controller" />
"org.springframework.web.servlet.view.InternalResourceViewResolver">
"prefix" value="/WEB-INF/view/" />
"suffix" value=".jsp" />
"org.springframework.web.servlet.view.json.MappingJackson2JsonView"/>
然后spring的配置:ApplicationContext .xml
"1.0" encoding="UTF-8" ?>
"http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.3.xsd" >
"classpath:jdbc.properties" />
"common.ApplicationContextHelper" lazy-init="false" />
"DataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close" >
"username" value="${username}" />
"password" value="${password}" />
"url" value="${url}" />
"driverClassName" value="${driver}" />
"initialSize" value="3" />
"minIdle" value="3" />
"maxActive" value="20" />
"maxWait" value="60000" />
"filters" value="stat,wall" />
"sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" >
"dataSource" ref="DataSource" />
"configLocation" value="classpath:mybaties.xml" />
"mapperLocations" value="classpath:mappers/*.xml" />
"org.mybatis.spring.mapper.MapperScannerConfigurer">
"basePackage" value="dao" />
"sqlSessionFactoryBeanName" value="sqlSessionFactory" />
"transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager" >
"dataSource" ref="DataSource" />
"transactionManager" />
"stat-filter" class="com.alibaba.druid.filter.stat.StatFilter" >
"slowSqlMillis" value="3000" />
"logSlowSql" value="true" />
"mergeSql" value="true" />
"wall-filter" class="com.alibaba.druid.wall.WallFilter" >
"dbType" value="mysql" />
整合mybaties的配置:mybaties.xml
"1.0" encoding="UTF-8" ?>
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
"lazyLoadingEnabled" value="true" />
"aggressiveLazyLoading" value="false" />
"safeRowBoundsEnabled" value="true" />
"cacheEnabled" value="false" />
"useGeneratedKeys" value="true" />
整合日志配置文件:logback.xml
"1.0" encoding="UTF-8" ?>
"true" scanPeriod="60 seconds" >
"STDOUT" class="ch.qos.logback.core.ConsoleAppender" >
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
"Log" class="ch.qos.logback.core.rolling.RollingFileAppender" >
${catalina.home}/logs/Log-%d{yyyy-MM-dd}.log
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
${catalina.home}/logs/Log-%d{yyyy-MM-dd}.log
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
"dao" level="debug" />
"dao.*" level="DEBUG" />
"infor">
"STDOUT"/>
"Log"/>
自动生成代码的genrator:需要提前在eclipse中安装一个mybaties的插件 生成一个文件:怎么安装和使用 自行百度
"1.0" encoding="UTF-8" ?>
"/Atomatic/java/SpringHomeWork/SpringMVCSpringMybaties/webapp/WEB-INF/lib/mysql-connector-java-8.0.12.jar" />
"DB2Tables" targetRuntime="MyBatis3" >
"suppressAllComments" value="true" />
"jdbc:mysql://localhost:3306/AuthorityWeb" driverClass="com.mysql.cj.jdbc.Driver" password="wangqiang" userId="root" />
"forceBigDecimals" value="false" />
"domain" targetProject="SpringMVCSpringMybaties" >
"enableSubPackages" value="true" />
"trimStrings" value="true" />
"mappers" targetProject="SpringMVCSpringMybaties" >
"enableSubPackages" value="true" />
"dao" targetProject="SpringMVCSpringMybaties" type="XMLMAPPER" >
"enableSubPackages" value="true" />
"" domainObjectName="" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
搭建到这就可以启动项目 进行测试一下了 :
还有一个mysql的sql监控:等项目启动以后 访问地址http://localhost:8080/sys/druid/index.html 这个/sys/druid/取决于你的配置。ip取决于你实际用的ip地址和端口 打开这个网址 就说明成功了
搭建过程有些多 但是你看完了一定会有收获。一起加油!!!!
你可能感兴趣的:(SSM搭建详细过程)
花开了,我就画花。花谢了,我就画我自己。
轻舟ling
今天分享一些无关爱情的句子,毕竟最近太多瓜要吃了。爱自己是终生浪漫的开始。悲剧是通往灵性的直达电梯。孤独有时也是自由的代名词。过程才是生命,两端都是死亡。凌晨四点钟,看到海棠花未眠。夏天的避难所当然是图书馆啦。所有的道别里,我最喜欢:明天见。来日方长要在不慌不忙中学会坚强。给时光以生命,而不是给生命以时光。煎和熬都是变美味的方法,加油也是。只要有想见的人,就不再是孤单一人。一朵花坠落的速度,连时间
遵循生命最自然的样子
Nina幸福2021
图片发自App每个人在成长的过程当中其实都被赋予了很多的期望。小时候就常常被追问:长大了你要做什么呀?做老师,做老板,还是做科学家?好像不管我们做什么,都可以在那个时候很随意的选择一样。那时候我们常常仰着小脑袋,苦思冥想这些词都代表着什么呀?然后从中选一个,在懵懂中看周围的人拍手叫好。那时的我们还不懂,其实生命可以有无数种形态。而最好的状态无异于遵循它本该有的样子。就像蚂蚁搬蚂蚁的家,蜜蜂采蜜蜂的
分享JavaScript中直接调用CSS中的类名
奔跑的呱呱牛
javascript css 开发语言
分享JavaScript中直接调用CSS中的类名在现代的JavaScript框架(如React、Vue)中,使用CSS模块(CSSModules)是一种非常流行的方式。.module.css文件扩展名代表的是CSS模块,它与普通的CSS文件不同,能够解决样式全局污染的问题,并且实现更好的样式隔离。为什么要使用.module.css作用域隔离:传统的CSS文件中的类名是全局的,这意味着如果多个组件或
Android kotlin开发项目MVP架构搭建
哎吆我呸
android Kotlin初入门
1、引入需要的网络库implementation'com.squareup.retrofit2:retrofit:2.7.1'implementation'com.squareup.retrofit2:converter-gson:2.7.1'implementation'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.
LinkedList模拟出栈入栈
虾米大王
Java java windows 开发语言
packagecom.shrimpking.t11;importjava.util.LinkedList;/***CreatedbyIntelliJIDEA.**@Author:Shrimpking*@create2024/9/1011:49*/publicclassMyStack{privateLinkedListlist=newLinkedListms=newMyStack<>();ms.pu
Redis中的AOF重写过程及其实际应用
CopyLower
Java 学习 Redis redis java 数据库
引言在Redis中,持久化是确保数据安全和稳定运行的关键部分。Redis提供了两种持久化方式:RDB快照和AOF(AppendOnlyFile)日志。相比RDB快照,AOF能够更频繁地保存数据变更,并且在服务器崩溃后能够更快地恢复数据。然而,随着时间的推移,AOF文件可能会变得越来越大,从而影响Redis的性能。为了应对这一问题,Redis引入了AOF重写机制,通过优化和压缩AOF文件的大小,确保
讲透PCB布线只需这8个问题,PCB制造商这样说
捷配科技
PCB大全 制造 pcb工艺 捷配
在电子工程领域,PCB(印刷电路板)布线是一项至关重要的工艺。它不仅关系到电路的性能和可靠性,还直接影响到产品的成本和生产效率。以下是关于PCB布线的一些常见问题及其答案,以帮助您更好地理解这一复杂过程。1.在小信号电路中,短铜线的电阻影响是否可忽略不计?答:虽然PCB的导电带设计得较宽以降低增益误差,但即便是短铜线也具有一定的电阻。在模拟电路中,应计算导电带的电阻并分析其对电路的潜在影响。2.一
hackcon ctf 2018 | pwn wp
fantasy_learner
BOF漏洞点:栈溢出利用过程栈溢出跳转callMeMaybe函数获得flagexpSheSellsSeaShells90流程分析:给出了输入的栈地址有一个栈溢出点没有nx利用过程:根据以上三点,得出可以使用ret2shellcode使用shellcraft生成shellcode利用栈溢出,输入并跳转到shellcodeexpSimpleYetElegent150这道题目做了最久,卡在了能否根据_d
毕设项目 基于特征熵值分析的网站分类系统实现(源码+论文)
iuidfds
毕业设计 毕设
文章目录0项目说明1研究目的2研究方法3研究结论4各模块介绍4.1爬虫模块功能与技术4.2网页处理模块功能与技术4.3特征提取与文本特征表示模块功能与技术4.4分类器模块功能与技术5项目源码6论文目录7最后0项目说明基于特征熵值分析的网站分类系统实现提示:适合用于课程设计或毕业设计,工作量达标,源码开放1研究目的本设计对KNN算法的缺陷产生原因进行详细地分析,并针对缺陷对算法进行了引入属性熵值等一
机器学习和深度学习区别
hong161688
机器学习 深度学习 人工智能
机器学习和深度学习作为人工智能领域的两大重要分支,虽然有着紧密的联系,但在多个方面存在显著的差异。以下将从定义与起源、技术基础、模型复杂度、数据需求、计算资源需求、应用领域以及学习方式与特点等角度,详细阐述机器学习和深度学习的区别。一、定义与起源机器学习:是人工智能的一个分支,它让计算机能够在没有明确编程的情况下,通过观察和分析大量数据来学习并做出预测或决策。机器学习起源于20世纪50年代,随着算
Amqp协议的说明和使用场景
猰貐的新时代
python 开发语言
引言本文围绕Amqp协议,为大家详细解析Amqp协议、核心技术亮点、多协议之间的对比以及使用实践,并介绍华为云IoT通过Amqp协议如何为开发者和企业提供了更加灵活和高效的通信方式,使得物联网应用得以在各个领域得到更广泛的推广和应用。AMQP协议,全称为AdvancedMessageQueuingProtocol。在2006年6月,由Cisco、Redhat、iMatrix等联合制定了AMQP的消
十个让你受益终身的“秘密”
海龙王_6664
01关于好好学习的“秘密”:跟书学不如跟人学,教别人是更好的学习方式。跟书学习是一个方法,但是对于学习的人有一定的要求,因为人的知识,阅历,理解力的因素,会导致跟书学习的效果没有跟人学习的效果好,所以双管齐下不失为一个好方法,书上学习搭建理论体系,链接牛人吸收经验教训,解答疑难困惑,学会以后再去教别人,自己会到教人会又是一个提升,就像足球运动中,“不是脱掉球鞋就能穿上皮鞋”,你是一个好球员不一定是
2019-03-09
爱之旅心理孙建芳
早上起来,又做心想事成冥想,觉察身体从微热到宁静的过程,我问自己“此生的意义是什么?”我相信吸引和创造,我用正念滋养自己的心,创造生命中的心想事成,带来更多的丰盛与喜悦,也为身边的人带去支持和帮助,带去爱与疗愈!静静地和自己的心在一起,一呼一吸间,感恩自己、感恩所有的遇见,活出生命的意义![爱心][爱心]图片发自App
追女生懂得“隐藏狼性”,是男生的顶级智慧
男魅情感
你要坚信,女生的第六感很强,在追女生的全过程中,假如,你对她有太强的需求感,她会很显著地觉得到,随后,就逐渐生疏你情商高的男孩子,通常都明白“掩藏狼性文化”,即便再喜欢一个女生,他也会抑制对女生的需求感,它是一种顶尖的聪慧想像一下,倘若,有两个真实身份标准都一样的男孩子,在与此同时追求完美一个女生,在其中,一个男生对女生畏首畏尾,另一个男生则是一副不在乎的心态一般状况下,女生都是会挑选第二个男孩子
金士镧稀土纳米紫外屏蔽剂
金士镧
全文检索
稀土纳米紫外屏蔽剂具有以下特点:稀土纳米屏蔽性能优异:能够有效反射、吸收紫外线,显著减小紫外线的透过率,从而为纺织品提供良好的抗紫外线保护。稳定性高:具有较高的热稳定性和化学稳定性,在使用过程中性质较为稳定。安全性好:绿色环保,添加量小,无毒,对人体伤害较小。成本相对较低:与纳米无机材料相比,成本可降低一定比例,有利于大规模应用。金士镧KINGCELA™KCL系列稀土纳米紫外屏蔽剂具有光、热稳定性
Docker部署Doris数据库
天蓝蓝23528
docker 数据库 容器
Docker部署Doris数据库是一个涉及多个步骤的过程,包括环境准备、Docker镜像拉取、配置文件创建、容器启动与配置、以及后续的数据库操作等。以下是一个详细的Docker部署Doris数据库的教程,旨在帮助用户成功在Docker环境中部署并运行Doris数据库。一、环境准备在部署Doris之前,需要确保你的系统已经安装了Docker。Docker是一个开源的容器化平台,可以帮助你轻松地部署和
力扣刷题记录(一)剑指Offer(第二版)
乘凉~
求职过程记录 leetcode 链表 算法
1、本栏用来记录社招找工作过程中的内容,包括基础知识学习以及面试问题的记录等,以便于后续个人回顾学习;暂时只有2023年3月份,第一次社招找工作的过程;2、个人经历:研究生期间课题是SLAM在无人机上的应用,有接触SLAM、Linux、ROS、C/C++、DJIOSDK等;3、参加工作后(2021-2023年)岗位是嵌入式软件开发,主要是服务器开发,Linux、C/C++、网络编程、docker容
对人生的看法
叶落风吹
人生是一场旅程,每个人都有自己的目的和方向。有人追求名利,有人渴望自由,有人寻找真实与灵魂,每个人的人生轨迹都是独一无二的。在我的看法中,人生并不是一个简单的旅程,而是一个深邃而又复杂的追寻过程。我们在人生中经历着各种各样的事情,贫困、富有、失败、成功、伤痛、欢笑等等,这些经历使我们变得成熟而且富有智慧。我们通过经验,得到思考、反思,从而成长为更加强大、智慧、理解力更强、同情心更深的人。人生是一场
【免费培训 · 时间调整】脑电统计分析专题班(直播:2023.7.12)
茗创科技
课程背景统计分析通过对数据进行定量和定性分析,使繁杂的数据变得直观且形象。它作为一门实践性很强的课程,对各学科领域的发展起着非常重要的作用,特别是作为一种认识心理现象数量特征的重要工具受到了广大心理学工作者的重视。统计分析有助于建立问题和数据之间的关系,从而更好地了解和发现事物的内在规律。但如果大家在科研数据分析过程中只是记住操作步骤,缺乏对各种统计分析方法的原理、应用条件和检验结果的理解,不能很
系统架构设计师——架构评估(二)
吴代庄
# 系统架构设计师 系统架构 架构 数据库 系统架构设计师
其他质量属性敏感点:敏感点是指那些对特定质量属性影响较大的系统部分。例如,对于性能来说,数据库访问可能是一个敏感点;对于安全性来说,用户认证模块可能是一个敏感点。识别敏感点有助于架构师优先处理可能影响关键质量属性的系统部分,从而在设计过程中进行重点优化和测试。权衡点:权衡点是指在不同质量属性之间需要进行平衡的系统部分。例如,为了提高性能可能需要牺牲一定的可维护性或可扩展性。架构师需要在这些质量属性
25道Python练手题(附详细答案),赶紧收藏!Python入门|Python学习
豆本-豆豆奶
python 学习 数据挖掘 开发语言 爬虫 人工智能
题目1:水仙花数水仙花数(Narcissisticnumber)也被称为超完全数字不变数(pluperfectdigitalinvariant,PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrongnumber)水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。例如:1^3+5^3+3^3=153。foriinrange(100,1000):i1=i//100#取
Python-request库的详细解析
需要重新演唱
Python python 开发语言 request 库 http session
引言在现代网络应用中,与服务器进行通信是一个非常基础且重要的功能。Python的requests库是一个非常强大且易于使用的HTTP库,它允许我们发送HTTP请求,与Web服务进行交互。本文将详细介绍requests库的使用,包括其基本概念、常用功能以及一些高级用法。安装requests库在使用requests库之前,我们需要先安装它。可以通过pip命令来安装:pipinstallrequests
Autosar MCAL从入门到精通系列讲解--总目录
常学常思
Autosar -- MCAL从入门到精通 嵌入式硬件 mcu 单片机 Autosar
前言欢迎大家一起来学习Autosar,作为一个小白,在最开始的时候也是一脸茫然,不知道如何去学习,如何下手。在这里,我将记录我所有Autosar学习的过程,问题点,以及分享我的代码供大家参考。最终能让大家快速上手。Mcal:可以去官网下载一、EB1.EBtresos创建工程2.EB生成代码编译---makefile二、TricoreMcal实战系列(EB)这里的博客之前都是用S32DS来配置的,在
uniapp微信授权应该在哪里做
linlinlove2
uni-app 微信
在uniapp开发中,微信授权应当在用户界面组件中进行。授权流程包括:获取用户code、用code换取openid和unionid、应用使用openid或unionid进行后续操作。具体位置取决于业务场景,例如可在需要授权的按钮点击事件处理函数中进行授权。uniapp微信授权应当在哪里做在uniapp开发中,微信授权应当在用户界面组件中进行。详细说明:uniapp提供了微信SDK,用于实现与微信平
中原焦点团队常晓蕾焦点网络初级班20期坚持分享第52天2020.3.9约练感悟每周3次 本周第1次 总第30次
快乐每一天cxl
今天约练我做的是观察员。按照对观察员的要求,以用心、保密、尊重、谦卑的原则去对待整场咨询,态度端正认真,严格遵照反馈流程去做。1、用心的去听记录整个咨询过程。不插嘴不打断不在屏幕上打内容,保持整个咨询的完整性。2、简单对咨询给予正向的反馈。3、探究咨询师例外。在本场咨询中,你感觉做的不错的地方有哪些呢?这些地方是怎么做到的?怎么想到这样做呢?有哪些思考?本次咨询1分代表不满意,10分代表非常满意,
使用docker部署MongoDB数据库
数据小白的进阶之路
数据库 docker mongodb
最近由于工作需要搭建MongoDB数据库:将解析的车端采集的数据写入到数据库,由于MongoDB高可用、海量扩展、灵活数据的模型,因此选用MongoDB数据库;由于现公司只有服务器,因此考虑容器化部署MongoDB数据,特此记录一下~一、镜像拉取使用如下命令拉取最新MongoDB镜像dockerpullmongo二、创建MongoDB容器2.1创建宿主机目录执行如下代码:mkdir-p/home/
linux下全盘查找文件,linux下的查找文件命令find
大表姐绫蛮蛮
linux下全盘查找文件
find1.作用find命令的作用是在目录中搜索文件,它的使用权限是所有用户。2.格式find[path][options][expression]path指定目录路径,系统从这里开始沿着目录树向下查找文件。它是一个路径列表,相互用空格分离,如果不写path,那么默认为当前目录。3.主要参数[options]参数:-depth:使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容。-max
Linux应用开发(15):Linux IO复用技术:epoll详细讲解
赛先生.AI
Linux应用开发(C++) linux
目录1.epoll概要2.优点3.工作模式及API(1)工作模式(2)API介绍4.触发类型(1)LT(水平触发,默认)(2)ET(边缘触发,EPOLLET)(3)EPOLLONESHOT(一次边沿触发)5.EPOLLOUT6.当读取数据时,有新数据到来的情况。7.使用过程中的若干问题(1)为什么一般要配合非阻塞使用?(2)什么情况下,LT可以配合阻塞I/O?8.应用场景(1)水平触发(Level
2021-06-12#共读学习#第6天 找准目标让压力变动力
淡淡的糖糖
共读书籍:《不用督促的学习》作者:苏晓航书籍来源:纸质书籍共读时间:2021年6月12日共读章节:第三章第三节作业、考试是压力还是动力?找准目标,让压力变动力【知识点】一、孩子做作业总是敷衍,关键要让他明白这一点。1、作业是一个练习的过程,这个过程允许孩子不会,这个过程允许孩子出错,这个过程允许孩子害怕困难。2、作业需要孩子学会新知识,掌握新能力的过程3、被盯着做作业的压力,让孩子失去了自我发现,
Pytorch维度转换操作:view,reshape,permute,flatten函数详解
ghx3110
深度学习笔记 pytorch 维度转换操作
引言Pytorch中常见的维度转换函数有view,reshape,permute,flatten。本文将详细介绍这几个函数的作用与使用方式,并给出了具体的代码示例,希望能够帮助大家。常见的维度有四维:比如(batch,channel,height,width);三维:比如(b,n,c);二维:比如(h,w)。下面介绍如何使用上述函数进行维度之间的转换。1.view函数作用tensor.view()
算法 单链的创建与删除
换个号韩国红果果
c 算法
先创建结构体
struct student {
int data;
//int tag;//标记这是第几个
struct student *next;
};
// addone 用于将一个数插入已从小到大排好序的链中
struct student *addone(struct student *h,int x){
if(h==NULL) //??????
《大型网站系统与Java中间件实践》第2章读后感
白糖_
java中间件
断断续续花了两天时间试读了《大型网站系统与Java中间件实践》的第2章,这章总述了从一个小型单机构建的网站发展到大型网站的演化过程---整个过程会遇到很多困难,但每一个屏障都会有解决方案,最终就是依靠这些个解决方案汇聚到一起组成了一个健壮稳定高效的大型系统。
看完整章内容,
zeus持久层spring事务单元测试
deng520159
java DAO spring jdbc
今天把zeus事务单元测试放出来,让大家指出他的毛病,
1.ZeusTransactionTest.java 单元测试
package com.dengliang.zeus.webdemo.test;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import
Rss 订阅 开发
周凡杨
html xml 订阅 rss 规范
RSS是 Really Simple Syndication的缩写(对rss2.0而言,是这三个词的缩写,对rss1.0而言则是RDF Site Summary的缩写,1.0与2.0走的是两个体系)。
RSS
分页查询实现
g21121
分页查询
在查询列表时我们常常会用到分页,分页的好处就是减少数据交换,每次查询一定数量减少数据库压力等等。
按实现形式分前台分页和服务器分页:
前台分页就是一次查询出所有记录,在页面中用js进行虚拟分页,这种形式在数据量较小时优势比较明显,一次加载就不必再访问服务器了,但当数据量较大时会对页面造成压力,传输速度也会大幅下降。
服务器分页就是每次请求相同数量记录,按一定规则排序,每次取一定序号直接的数据
spring jms异步消息处理
510888780
jms
spring JMS对于异步消息处理基本上只需配置下就能进行高效的处理。其核心就是消息侦听器容器,常用的类就是DefaultMessageListenerContainer。该容器可配置侦听器的并发数量,以及配合MessageListenerAdapter使用消息驱动POJO进行消息处理。且消息驱动POJO是放入TaskExecutor中进行处理,进一步提高性能,减少侦听器的阻塞。具体配置如下:
highCharts柱状图
布衣凌宇
hightCharts 柱图
第一步:导入 exporting.js,grid.js,highcharts.js;第二步:写controller
@Controller@RequestMapping(value="${adminPath}/statistick")public class StatistickController { private UserServi
我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
spring mvc Spring 教程 spring3 教程 Spring 入门
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
TLS java简单实现
antlove
java ssl keystore tls secure
1. SSLServer.java
package ssl;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.security.KeyStore;
import
Zip解压压缩文件
百合不是茶
Zip格式解压 Zip流的使用 文件解压
ZIP文件的解压缩实质上就是从输入流中读取数据。Java.util.zip包提供了类ZipInputStream来读取ZIP文件,下面的代码段创建了一个输入流来读取ZIP格式的文件;
ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName));
&n
underscore.js 学习(一)
bijian1013
JavaScript underscore
工作中需要用到underscore.js,发现这是一个包括了很多基本功能函数的js库,里面有很多实用的函数。而且它没有扩展 javascript的原生对象。主要涉及对Collection、Object、Array、Function的操作。 学
java jvm常用命令工具——jstatd命令(Java Statistics Monitoring Daemon)
bijian1013
java jvm jstatd
1.介绍
jstatd是一个基于RMI(Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。
jstatd是基于RMI的,所以在运行jstatd的服务
【Spring框架三】Spring常用注解之Transactional
bit1129
transactional
Spring可以通过注解@Transactional来为业务逻辑层的方法(调用DAO完成持久化动作)添加事务能力,如下是@Transactional注解的定义:
/*
* Copyright 2002-2010 the original author or authors.
*
* Licensed under the Apache License, Version
我(程序员)的前进方向
bitray
程序员
作为一个普通的程序员,我一直游走在java语言中,java也确实让我有了很多的体会.不过随着学习的深入,java语言的新技术产生的越来越多,从最初期的javase,我逐渐开始转变到ssh,ssi,这种主流的码农,.过了几天为了解决新问题,webservice的大旗也被我祭出来了,又过了些日子jms架构的activemq也开始必须学习了.再后来开始了一系列技术学习,osgi,restful.....
nginx lua开发经验总结
ronin47
使用nginx lua已经两三个月了,项目接开发完毕了,这几天准备上线并且跟高德地图对接。回顾下来lua在项目中占得必中还是比较大的,跟PHP的占比差不多持平了,因此在开发中遇到一些问题备忘一下 1:content_by_lua中代码容量有限制,一般不要写太多代码,正常编写代码一般在100行左右(具体容量没有细心测哈哈,在4kb左右),如果超出了则重启nginx的时候会报 too long pa
java-66-用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。颠倒之后的栈为{5,4,3,2,1},5处在栈顶
bylijinnan
java
import java.util.Stack;
public class ReverseStackRecursive {
/**
* Q 66.颠倒栈。
* 题目:用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。
* 颠倒之后的栈为{5,4,3,2,1},5处在栈顶。
*1. Pop the top element
*2. Revers
正确理解Linux内存占用过高的问题
cfyme
linux
Linux开机后,使用top命令查看,4G物理内存发现已使用的多大3.2G,占用率高达80%以上:
Mem: 3889836k total, 3341868k used, 547968k free, 286044k buffers
Swap: 6127608k total,&nb
[JWFD开源工作流]当前流程引擎设计的一个急需解决的问题
comsci
工作流
当我们的流程引擎进入IRC阶段的时候,当循环反馈模型出现之后,每次循环都会导致一大堆节点内存数据残留在系统内存中,循环的次数越多,这些残留数据将导致系统内存溢出,并使得引擎崩溃。。。。。。
而解决办法就是利用汇编语言或者其它系统编程语言,在引擎运行时,把这些残留数据清除掉。
自定义类的equals函数
dai_lm
equals
仅作笔记使用
public class VectorQueue {
private final Vector<VectorItem> queue;
private class VectorItem {
private final Object item;
private final int quantity;
public VectorI
Linux下安装R语言
datageek
R语言 linux
命令如下:sudo gedit /etc/apt/sources.list1、deb http://mirrors.ustc.edu.cn/CRAN/bin/linux/ubuntu/ precise/ 2、deb http://dk.archive.ubuntu.com/ubuntu hardy universesudo apt-key adv --keyserver ke
如何修改mysql 并发数(连接数)最大值
dcj3sjt126com
mysql
MySQL的连接数最大值跟MySQL没关系,主要看系统和业务逻辑了
方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可
方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppass
单一功能原则
dcj3sjt126com
面向对象的程序设计 软件设计 编程原则
单一功能原则[
编辑]
SOLID 原则
单一功能原则
开闭原则
Liskov代换原则
接口隔离原则
依赖反转原则
查
论
编
在面向对象编程领域中,单一功能原则(Single responsibility principle)规定每个类都应该有
POJO、VO和JavaBean区别和联系
fanmingxing
VO POJO javabean
POJO和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Plain Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比POJO复杂很多,JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被
SpringSecurity3.X--LDAP:AD配置
hanqunfeng
SpringSecurity
前面介绍过基于本地数据库验证的方式,参考http://hanqunfeng.iteye.com/blog/1155226,这里说一下如何修改为使用AD进行身份验证【只对用户名和密码进行验证,权限依旧存储在本地数据库中】。
将配置文件中的如下部分删除:
<!-- 认证管理器,使用自定义的UserDetailsService,并对密码采用md5加密-->
mac mysql 修改密码
IXHONG
mysql
$ sudo /usr/local/mysql/bin/mysqld_safe –user=root & //启动MySQL(也可以通过偏好设置面板来启动)$ sudo /usr/local/mysql/bin/mysqladmin -uroot password yourpassword //设置MySQL密码(注意,这是第一次MySQL密码为空的时候的设置命令,如果是修改密码,还需在-
设计模式--抽象工厂模式
kerryg
设计模式
抽象工厂模式:
工厂模式有一个问题就是,类的创建依赖于工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则。我们采用抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。
总结:这个模式的好处就是,如果想增加一个功能,就需要做一个实现类,
评"高中女生军训期跳楼”
nannan408
首先,先抛出我的观点,各位看官少点砖头。那就是,中国的差异化教育必须做起来。
孔圣人有云:有教无类。不同类型的人,都应该有对应的教育方法。目前中国的一体化教育,不知道已经扼杀了多少创造性人才。我们出不了爱迪生,出不了爱因斯坦,很大原因,是我们的培养思路错了,我们是第一要“顺从”。如果不顺从,我们的学校,就会用各种方法,罚站,罚写作业,各种罚。军
scala如何读取和写入文件内容?
qindongliang1922
java jvm scala
直接看如下代码:
package file
import java.io.RandomAccessFile
import java.nio.charset.Charset
import scala.io.Source
import scala.reflect.io.{File, Path}
/**
* Created by qindongliang on 2015/
C语言算法之百元买百鸡
qiufeihu
c 算法
中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁,母,雏各几何?
代码如下:
#include <stdio.h>
int main()
{
int cock,hen,chick; /*定义变量为基本整型*/
for(coc
Hadoop集群安全性:Hadoop中Namenode单点故障的解决方案及详细介绍AvatarNode
wyz2009107220
NameNode
正如大家所知,NameNode在Hadoop系统中存在单点故障问题,这个对于标榜高可用性的Hadoop来说一直是个软肋。本文讨论一下为了解决这个问题而存在的几个solution。
1. Secondary NameNode
原理:Secondary NN会定期的从NN中读取editlog,与自己存储的Image进行合并形成新的metadata image
优点:Hadoop较早的版本都自带,