1 同步与异步
这是定义吧: 通常同步意味着一个任务的某个处理过程会对多个线程在用串行化处理,而异步则意味着某个处理过程可以允许多个线程同时处理。
异步通常代表着更好的性能,因为它很大程度上依赖于缓冲,是典型的使用空间换时间的做法,例如在计算机当中,高速缓存作为cpu和磁盘io之间的缓冲地带协调cpu高速计算能力和磁盘的低速读写能力。
对于我们公司而言,这样定义的异步处理:联机交易是用户发送请求到服务端,服务端执行完业务逻辑后返回结果给客户端的过程,客户端会一直等待处理结果的返回。异步处理是联机交易的一个补充,客户
端发起一个请求之后,会将请求交给异步处理线程进行处理,不等处理结果直接返回客户端的处理方式。异步请求不要求客户端等待处理结果,增强了联机处理的响应速度。在联机交易的处理过程中,随时可向异步
处理发送异步处理请求,异步处理根据接收到的异步请求做相依的处理,联机交易可在发送完异步请求后继续往下执行其他的逻辑。同时异步处理也可接收来自其他途径的异步请求,如可接收来自定时作业的异步请
求等。
2 maven +spring +spring mvc + mybaits 配置
定义了sql语句之后需要将sqlMapping文件注入到Mybatis的主配置文件当中,以便Mybatis能够加载该文件。
maven 文件
新建 maven的工程。。什么group id啥的看公司有要求或者随意填写吧。
然后是对pom.xml文件的配置 添加依赖包。 具体的各个公司有自己框架,还有之前的一些现成的,基本直接拉过来就能用,然后具体的还是要看你需要什么包。 mybatis 的,javax的,dbcp的,log4j的,junit
的多。
然后是 resource 下面的四个配置文件 当然有时不止四个
一般的是jdbc.properties 、log4j.properties、 spring-mvc.xml 、 spring-mybatis.xml
自动建立的maven项目是没有WEB-INF目录,更没有web.xml文件,这个就需要我们自己创建了,
手动在src下的main下的webapp目录下创建WEB-INF,然后在WEB-INF目录下创建一个web.xml配置文件,这边直接从以前的项目里拉过来,一样用,改改就好了。
我理解的web.xml文件是用来配置spring mvc的。
首先是配置spring的 contextconfiglocation什么的。就是classpath 包含一些 spring的xml 文件啥的。
然后一般会设置spring的监听器, contextloaderlister..然后是springmvc的配置文件,servlet(name)-servlet.xml什么的。这边要看一下servlet-name.(这点还是问别人才清楚的。)
然后是spring mvc的核心配置文件 就是刚才写的servlet(name)-servlet.xml文件了。这边主要是扫描controller的包。还有就是一些静态文件的加载。(这个文件没有写在WEB-INF下面)
最后就是spring的核心配置文件了。 这个文件名字默认是applicationContext.xml但我看到更多的是xxx-spring.xml文件啥的, 这里面也可以把数据库的配置单独写出来,也可以写在xxx-spring 里面。
这是spring和spring mvc 的配置,下面就是mybatis的配置。 这个固定的名称一般就是mybatis-config.xml文件,这个也不写在WEB-INF中的。
这个文件的配置 一般是setting设置,这关系到mybatis的主要设置,关系到mybatis运行时的行为方式。
然后就是将mapper.xml文件通过resources加载其中。(当然数据库的详细配置信息也可以写在这个文件中)
到此主体的配置已经完成了,至少说我的项目里这样就基本都完成了。但看到博客里说还有其他的,如事物管理配置啥的,对了,还有spring和mybatis合并的配置,即spring-mybatis.xml文件,
这个文件中一般写
<!-- MyBatis配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> (必需)
<property name="dataSource" ref="DataSource" /> (必需) spring中数据源引用
<property name="configLocation" value="/WEB-INF/config/db/MyBatisConfiguration.xml" /> (可选) Mybatis自身的配置文件,用来对mybatis进行配置,可添加别名,映射文件等。
<property name="mapperLocations" value="/WEB-INF/config/db/*Mapper.xml" /> mybatis的映射文件
<property name="typeAliasesPackage" value="${mybatis.alias.basepackage}" /> (可选) 要映射类的包路径,如果使用了这种方式,则configLocation中不必再进行声明
</bean>
上文是一个博客里的,写的很详细。
但我的项目里没有这个,我也没搞的很懂。那得等我啥时候学到了用到了再看吧。
3 sqlSession.insert(statement,user)
这个是从statement这个问题看来的。
映射sql的标识字符串,xxx.xxx.mapping.userMapper是userMapper.xml文件中mapper标签的namespace属性的值,
addUser是insert标签的id属性值,通过insert标签的id属性值就可以找到要执行的SQL
String statement = "xxx.xxx.mapping.userMapper.addUser";//映射sql的标识字符串
我所理解的这个statement 对应于 mapper.xml 文件中的<mapper namespace="xxx.xxx.mapping.userMapper.adduser">最后的adduser对应于每一个id。不一定是adduser 。
这是定义吧: 通常同步意味着一个任务的某个处理过程会对多个线程在用串行化处理,而异步则意味着某个处理过程可以允许多个线程同时处理。
异步通常代表着更好的性能,因为它很大程度上依赖于缓冲,是典型的使用空间换时间的做法,例如在计算机当中,高速缓存作为cpu和磁盘io之间的缓冲地带协调cpu高速计算能力和磁盘的低速读写能力。
对于我们公司而言,这样定义的异步处理:联机交易是用户发送请求到服务端,服务端执行完业务逻辑后返回结果给客户端的过程,客户端会一直等待处理结果的返回。异步处理是联机交易的一个补充,客户
端发起一个请求之后,会将请求交给异步处理线程进行处理,不等处理结果直接返回客户端的处理方式。异步请求不要求客户端等待处理结果,增强了联机处理的响应速度。在联机交易的处理过程中,随时可向异步
处理发送异步处理请求,异步处理根据接收到的异步请求做相依的处理,联机交易可在发送完异步请求后继续往下执行其他的逻辑。同时异步处理也可接收来自其他途径的异步请求,如可接收来自定时作业的异步请
求等。
2 maven +spring +spring mvc + mybaits 配置
定义了sql语句之后需要将sqlMapping文件注入到Mybatis的主配置文件当中,以便Mybatis能够加载该文件。
maven 文件
新建 maven的工程。。什么group id啥的看公司有要求或者随意填写吧。
然后是对pom.xml文件的配置 添加依赖包。 具体的各个公司有自己框架,还有之前的一些现成的,基本直接拉过来就能用,然后具体的还是要看你需要什么包。 mybatis 的,javax的,dbcp的,log4j的,junit
的多。
然后是 resource 下面的四个配置文件 当然有时不止四个
一般的是jdbc.properties 、log4j.properties、 spring-mvc.xml 、 spring-mybatis.xml
自动建立的maven项目是没有WEB-INF目录,更没有web.xml文件,这个就需要我们自己创建了,
手动在src下的main下的webapp目录下创建WEB-INF,然后在WEB-INF目录下创建一个web.xml配置文件,这边直接从以前的项目里拉过来,一样用,改改就好了。
我理解的web.xml文件是用来配置spring mvc的。
首先是配置spring的 contextconfiglocation什么的。就是classpath 包含一些 spring的xml 文件啥的。
然后一般会设置spring的监听器, contextloaderlister..然后是springmvc的配置文件,servlet(name)-servlet.xml什么的。这边要看一下servlet-name.(这点还是问别人才清楚的。)
然后是spring mvc的核心配置文件 就是刚才写的servlet(name)-servlet.xml文件了。这边主要是扫描controller的包。还有就是一些静态文件的加载。(这个文件没有写在WEB-INF下面)
最后就是spring的核心配置文件了。 这个文件名字默认是applicationContext.xml但我看到更多的是xxx-spring.xml文件啥的, 这里面也可以把数据库的配置单独写出来,也可以写在xxx-spring 里面。
这是spring和spring mvc 的配置,下面就是mybatis的配置。 这个固定的名称一般就是mybatis-config.xml文件,这个也不写在WEB-INF中的。
这个文件的配置 一般是setting设置,这关系到mybatis的主要设置,关系到mybatis运行时的行为方式。
然后就是将mapper.xml文件通过resources加载其中。(当然数据库的详细配置信息也可以写在这个文件中)
到此主体的配置已经完成了,至少说我的项目里这样就基本都完成了。但看到博客里说还有其他的,如事物管理配置啥的,对了,还有spring和mybatis合并的配置,即spring-mybatis.xml文件,
这个文件中一般写
<!-- MyBatis配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> (必需)
<property name="dataSource" ref="DataSource" /> (必需) spring中数据源引用
<property name="configLocation" value="/WEB-INF/config/db/MyBatisConfiguration.xml" /> (可选) Mybatis自身的配置文件,用来对mybatis进行配置,可添加别名,映射文件等。
<property name="mapperLocations" value="/WEB-INF/config/db/*Mapper.xml" /> mybatis的映射文件
<property name="typeAliasesPackage" value="${mybatis.alias.basepackage}" /> (可选) 要映射类的包路径,如果使用了这种方式,则configLocation中不必再进行声明
</bean>
上文是一个博客里的,写的很详细。
但我的项目里没有这个,我也没搞的很懂。那得等我啥时候学到了用到了再看吧。
3 sqlSession.insert(statement,user)
这个是从statement这个问题看来的。
映射sql的标识字符串,xxx.xxx.mapping.userMapper是userMapper.xml文件中mapper标签的namespace属性的值,
addUser是insert标签的id属性值,通过insert标签的id属性值就可以找到要执行的SQL
String statement = "xxx.xxx.mapping.userMapper.addUser";//映射sql的标识字符串
我所理解的这个statement 对应于 mapper.xml 文件中的<mapper namespace="xxx.xxx.mapping.userMapper.adduser">最后的adduser对应于每一个id。不一定是adduser 。
其实写的很乱,杂七杂八的,估计也没人看。那就自己看看,给自己一个鞭策和记录吧。每天不要打酱油。多少学习点,对于配置其实还没彻底搞懂,打算周末加班写一个稍大的demo,把所有的配置写好,跑通。
最后,加油,为未来跳槽去魔都。。