# Spring4.x 基础知识点
## 第二章 快速入门
- 一般情况下,需要在业务模块包下进一步按分层模块划分子包,如user\dao、user\service、viewspace\dao、viewspace\service等。对于由若干独立子系统组成的大型应用,在业务分层包前还需要加上子系统的前缀。包的规划对于大型应用非常重要,它直接关系到应用部署和分发的便利性。
- 在配置文件的定义上,一般也是按模块进行划分,一定程度上降低争用。
- 在拼接SQL语句的句前和句后都加一个空格,这样避免分行SQL语句组合后的错误。
- 在编写SQL语句时,通常将SQL语句写在类静态变量中,这样使代码更具可读性。
```java
private final static String INSERT_LOGIN_LOG_SQL = "insert into t_login_log(user_id,ip,login_datetime) values(?,?,?)";
```
- 在使用SpringJDBC底层对于原先的JDBC进行了薄封装,使用者在使用专注SQL语句的组装,用考虑对于数据库获取连接、断开连接、异常处理等。Spring的配置中我们首先会声明``datasource``,之后会使用数据库连接模板进行引用。
- 对于在Service层我们会调用Dao层的不同方法,针对于不同的方法对于会涉及到回滚等复杂操作时我们应该使用注解``@Transactional``,Spring的事务管理器会拦截做事务处理。
- 对于数据库用户的密码存储方式:
 - 一是将密码加密后以密文的方式进行保存。
 - 二是仅保存密码的MD5的摘要。(即使后台泄露也无法反推账户密码)
 - 此外Web应用都使用了图片验证码功能,可能有效增加攻击成本。
- 对于Spring4.x进行单元测试时,使用``@ContextConfigration("classpath*:/applicationContext.xml")``用于指定Spring的配置文件。
- 配置Dao层时,Spring配置引用bean、context、p。
 ```xml
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
```
- 配置Service层时,Spring配置tx、aop。
 ```xml
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
```
- Spring容器的配置
 ```xml
org.springframework.web.context.ContextLoaderListener
```
- 控制器根据登录结果分别返回```ModelAndView("login","error","用户名和密码错误")```和```ModelAndView("main")```。ModelAndView的第一个参数代表视图的逻辑,第二、第三参数分别为数据模型名称和数据模型对象,数据模型对象将以数据模型名称为参数名放置到request的属性中。
- 在SpringMVC中使用```InternalResourceViewResolver```通过为视图逻辑名添加前、后缀的方式进行解析。
- 运行Web应用有两种方式:
 - 在IDE工具中配置Web应用服务器
 - 在pom.xml文件中配置Web应用服务器插件
- Spring Boot实际上是一些类库的集合,它能够被任意项目的构建系统所使用,为了简便起见,Spring Boot提供了一个命令行客户端运行工具(Spring Boot CLI),可以用来有你想那个和测试Spring Boot应用。
- SpringBoot中的jdbcTemplate.queryForInt()方法过时,使用jdbcTemplate.queryForObject(String sql,Object[] args,Class<T> requiredType)。返回需要什么类型,第三个参数就写什么类型,比如int类型就写Integer.class。

Spring4.x 基础知识点的更多相关文章

  1. fastclick 源码注解及一些基础知识点

    在移动端,网页上的点击穿透问题导致了非常糟糕的用户体验.那么该如何解决这个问题呢? 问题产生的原因 移动端浏览器的点击事件存在300ms的延迟执行,这个延迟是由于移动端需要通过在这个时间段用户是否两次 ...

  2. .NET基础知识点

    .NET基础知识点   l  .Net平台  .Net FrameWork框架   l  .Net FrameWork框架提供了一个稳定的运行环境,:来保障我们.Net平台正常的运转   l  两种交 ...

  3. JavaScript 开发者经常忽略或误用的七个基础知识点(转)

    JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它.昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.很多新 ...

  4. JavaScript 开发者经常忽略或误用的七个基础知识点

    JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它.昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.很多新 ...

  5. JavaScript开发者常忽略或误用的七个基础知识点

    JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它.昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.很多新 ...

  6. JavaScript语言基础知识点图示(转)

    一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运算符 4.JavaScript 数组 5.Ja ...

  7. JavaScript 语言基础知识点总结

    网上找到的一份JavaScript 语言基础知识点总结,还不错,挺全面的. (来自:http://t.cn/zjbXMmi @刘巍峰 分享 )  

  8. c语言学习之基础知识点介绍(三):scanf函数

    本节继续介绍c语言的基础知识点. scanf函数:用来接收用户输入的数据. 语法:scanf("格式化控制符",地址列表); 取地址要用到取地址符:&(shift+7) 例 ...

  9. c语言学习之基础知识点介绍(二):格式化控制符和变量的补充

    上节简单介绍了c语言中的一些基础知识点,本节将对之前介绍的不够详细的知识点进行补充. 格式化控制符的消息介绍: %d的其他控制符: 1.%md:m代表这个整数位占用多少位,m是一个整数.实际数字不足的 ...

随机推荐

  1. XStream JavaBean对象转换成XML!

    代码实例: 1.javaBean类: package com.hsinfo.web.Demo.XStream; public class City { private String name; pub ...

  2. 初学C#的简单编程题合集(更新)

    一 编写一个控制台应用程序,要求完成下列功能. 1)   接收一个整数 n. 2)   如果接收的值 n 为正数,输出 1 到 n 间的全部整数. 3)   如果接收的值为负值,用 break 或者 ...

  3. 原子操作atomic

    一.原子操作:即不可再细分的操作,最小的执行单位,在操作完之前都不会被任何事件中断. 整型原子操作:对int类型的操作变成原子操作.                 int i = 0;       ...

  4. Android根据联系人姓名首字符顺序读取通讯录

      Android根据联系人姓名首字符顺序读取通讯录 版权声明:本文为Zhang Phil原创文章,欢迎转载!转载请注明出处:http://blog.csdn.net/zhangphil 本文给出了A ...

  5. Ajax技术 - (Asynchronous JavaScript + XML)

    Ajax Ajax = 异步JavaScript和XML,Ajax是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新.可以再网页不重新加载的情况下, ...

  6. TZOJ 4024 游戏人生之梦幻西游(连续子段和绝对值最小)

    塔神酷爱玩梦幻西游这款游戏,这款游戏以著名的章回小说<西游记>故事为背景,透过Q版的人物,营造出浪漫的网络游戏风格.塔神以追求天下无敌为目标,从一个默默无闻的菜鸟,打拼到了登峰造极的大师, ...

  7. Luogu P2679 子串(字符串+dp)

    P2679 子串 题意 题目描述 有两个仅包含小写英文字母的字符串\(A\)和\(B\). 现在要从字符串\(A\)中取出\(k\)个互不重叠的非空子串,然后把这\(k\)个子串按照其在字符串\(A\ ...

  8. 巧用tar命令

    tar命令可以对文件进行归档.它最初设计是用来将数据存储在磁带上.tar可以将多个文件和文件夹保存为单个文件,同时还能保留所有的文件属性,如所有者.权限等.由tar创建的文件通常称为Tarball.下 ...

  9. https://vjudge.net/problem/2198221/origin

    https://vjudge.net/problem/2198221/origin逆向思维,原题是人出来,我们处理成人进去,算出来每个人的曼哈顿距离,然后从大到小排序,距离长的先入.走的距离+这个人从 ...

  10. 深入了解MVC(转)

    MVC无人不知,可很多程序员对MVC的概念的理解似乎有误,换言之他们一直在错用MVC,尽管即使如此软件也能被写出来,然而软件内部代码的组织方式却是不科学的,这会影响到软件的可维护性.可移植性,代码的可 ...