发表于: 2017-09-25 22:22:09
1 836
今天完成的事情:今天完成了一个登陆界面,了解了代码语句的含义.
一.<context:component-scan>使用说明
http://blog.csdn.net/chunqiuwei/article/details/16115135
xml文件详解
XML文件结构
一个XML文件通常包含文件头和文件体两大部分
1. 文件头
XML文件头由XML声明与DTD文件类型声明组成。其中DTD文件类型声明是可以缺少的,关于DTD声明将在后续的内容中介绍,而XML声明是必须要有的,以使文件符合XML的标准规格。
在前面的Flowers.xml文件中的第一行代码即为XML声明:
<?xml version="1.0" encoding="gb2312"?>
其中:
“<?”代表一条指令的开始,“?>”代表一条指令的结束;
“xml”代表此文件是XML文件;
“ version="1.0" ”代表此文件用的是XML1.0标准;
“ encoding="gb2312" ” 代表此文件所用的字符集,默认值为Unicode,如果该文件中要用到中文,就必须将此值设定为gb2312。
注意:XML声明必须出现在文档的第一行。
2.
2. <mapper namespace="com.mycom.myapp.dao.IUserDao">
用mybatis持久层每一个接口都会对应一个xml.而xml里面的namespace放着的是接口路径。
在mybatis中,映射文件中的namespace是用于绑定Dao接口的,即面向接口编程。
当你的namespace绑定接口后,你可以不用写接口实现类,mybatis会通过该绑定自动
帮你找到对应要执行的SQL语句,如下:
假设定义了IArticeDAO接口
public interface IArticleDAO
{
List<Article> selectAllArticle();
}
对于映射文件如下:
<mapper namespace="IArticleDAO">
<select id="selectAllArticle" resultType="article">
SELECT t.* FROM T_article t WHERE t.flag = '1' ORDER BY t.createtime DESC
</select>
请注意接口中的方法与映射文件中的SQL语句的ID一一对应 。
则在代码中可以直接使用IArticeDAO面向接口编程而不需要再编写实现类。
3.
属性 | 描述 |
id | 在命名空间中唯一的标识符,可以被用来引用这条语句。 |
parameterType | 将会传入这条语句的参数类的完全限定名或别名。 |
resultType | 从这条语句中返回的期望类型的类的完全限定名或别名。注意集合情形,那应该是集合可以包含的类型,而不能是集合本身。使用 resultType 或 resultMap,但不能同时使用。 |
<select id="selectByName" parameterType="String" resultType="User">
select from tb_user where name =#{naem}
</select>
ApplicationContext.xml详解
一.
- 1. <!-- 自动扫描web包 ,将带有注解的类 纳入spring容器管理 -->
- <context:component-scan base-package="com.eduoinfo.finances.bank.web"></context:component-scan>
<context:component-scan base-package="com.eduoinfo.finances.bank.web"></context:component-scan> 作用Spring 容器初始化的时候,会扫描 com.eduoinfo.finances.bank.web下 标有 (@Component,@Service,@Controller,@Repository) 注解的 类 纳入spring容器管理.
二. http://blog.csdn.net/superdog007/article/details/41825355
spring:<context:property-placeholder location="classpath:application.properties" />
<!--引入jdbc配置 -->
<context:property-placeholder location="classpath*:testssm/config/jdbc.properties"/>
期望:能不能有一种解决方案可以方便我们在一个阶段内不需要频繁书写一个参数的值,而在不同阶段间又可以方便的切换参数配置信息
解决:spring3中提供了一种简便的方式就是context:property-placeholder/元素
只需要在spring的配置文件里添加一句:<context:property-placeholder location="classpath:jdbc.properties"/> 即可,这里location值为参数配置文件的位置,参数配置文件通常放在src目录下,而参数配置文件的格式跟java通用的参数配置文件相同,即键值对的形式,例如:
#jdbc配置
test.jdbc.driverClassName=com.mysql.jdbc.Driver
test.jdbc.url=jdbc:mysql://localhost:3306/test
test.jdbc.username=root
test.jdbc.password=root
<!-- 创建数据映射器-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="testssm.com.mjl.dao"/>
</bean>
<!-- 对数据源进行事务管理 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
Web.xml详解
1 定义头和根元素
部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。
DOCYTPE声明必须立即出现在此头之后。这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义)。
所有部署描述符文件的顶层(根)元素为web-app。请注意,XML元素不像HTML,他们是大小写敏感的。因此,web-App和WEB-APP都是不合法的,web-app必须用小写。
2 部署描述符文件内的元素次序
XML 元素不仅是大小写敏感的,而且它们还对出现在其他元素中的次序敏感。
常用元素列表
context-param context-param元素声明应用范围内的初始化参数。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:applicationContext.xml
</param-value>
</context-param>
<!-- 配置Spring上下文监听器,它的作用就是在启动WEB容器时,就会自动装在我们applicationContext.xml配置-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
filter 过滤器元素将一个名字与一个实现javax.servlet.Filter接口的类相关联。
<!-- 配置Spring字符编码过滤器 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
http://blog.csdn.net/hejingyuan6/article/details/36633631
其实这就是一种AOP(Aspect OrientedProgramming),面向切面编程。它的主要的意图是:将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码。
对于设置字符集来说,它并非是业务逻辑的内容,对于这些内容的处理我们就可以提取出来,使用filter进行整体设置,这种方式相当于对类中的内容做进一步的抽象,使我们的系统更加灵活,更加能应对变化!
明天计划完成的事情:明天想把这个项目的实现流程及语句语义在了解一下.把小课堂准备了.有时间再完成接下来的任务.
遇到的问题:对jsp文件的编写语法还不是很了解.
收获:学习了知识点,知道自己写的代码是什么意思,是干什么的.
评论