aspnet软件开发学习总结

asp.net学习经验总结

通过几个月的学习,我初步掌握ASP.NET开发平台的基本知识,也通过老师的教学,完成了实际项目中的应用。由于大学学习中打下了较为扎实的C#基础,所以在选择开发平台学习时选择了ASP.NET开发平台。ASP.NET是基于网络的交互开发平台,可以通过微软的C#语言以及Visual Studio 20xx开发环境进行开发。

在学习ASP.NET之前,对网络交互的开发平台是非常陌生的。并不知道如何才能实现网站的开发和实现。通过ASP.NET的学习,我成功的使用WEB2.0和MVC2.0两种架构模式分别开发了资讯类网站和商务类网站。下面我将对开发过程的学习进行总结。

首先是资讯类网站的开发,选择使用了方便入手的web2.0架构平台。Web2.0以逻辑上的表示层、数据访问层、业务逻辑层。通过三层架构间函数的调用,可以增加系统的安全性,也可以提高代码的可读性。通过对资讯类网站的开发我逐渐熟悉了ASP.NET的开发过程以及交互模式,通过与ADO.NET的配合使用,完成了与数据库的交互工作。半个月的时间初步完成了资讯类新闻网的开发工作,实现了用户注册、登录,分栏目显示图文新闻信息,点击查看详情。后台实现了对用户角色的管理以及新闻的管理、编辑、上传工作。较完整的理解了ASP.NET中WEB2.0架构的基本开发过程。对三层架构有了初步的理解和认识。 接下来的时间我学习了使用MVC2.0开发商务网站。MVC同样是三层架构模型。与WEB开发架构的主要区别在于,MVC是物理上的三层架构,而WEB是逻辑上的三层架构。MVC解放了路由机制,使得页面的交互速度大幅提高。通过访问controler层,调用DAL层函数,使用MODEL层存储数据,使用DBHELPER类中的通用方法,实现参数的传递,以及与数据库的交互,最终将参数返回到VIEW层,实现页面的显示。MVC架构的开发优势在于,给了程序员绝对的自由,可以通过JS、JQ写出各种需要的显示效果,页面的可读性和自由性也大大提高。同时,MVC也兼顾了WEB的优点,方便了代码的模块化传递,增加代码的复用性,提高代码的可读性。通过一个半月的开发工作,我成功实现了商务网站的基本功能,实现了支付接口,前台的注册登录,商品展示、购买。后台的订单管理,用户管理以及角色授权等功能。

通过学习ASP.NET我基本熟悉了网站的开发模式、架构以及开发流程,通过实际项目的演练,也让我能够将大学学习中的理论运用到实践。现阶段所需要的就是继续加深C#的学习深度,了解JS、JQ库的写作规范,争取能够尽早使用自己编写的JS库完成个人网站的建设开发工作。很感谢成都华育国际的老师和同学在这几个月时间里给我的帮助,让我能够在ASP.NET的开发中达到入门水平。希望通过自身的努力,将自己的技术进一步提高。

 

第二篇:spring学习总结

Spring学习

一、Spring 框架的相关介绍

1.1、Spring 框架的作用:

Spring是一个容器性质的框架.可以管理Bean对象的创建和销毁。

Spring容器具有IoC和AoP特性。

1.2、Ioc和Aop的概念

IoC : Inverse of Controll 反向控制或控制反转。

AoP : Aspect of Programming 切面编程。

1.3、Spring容器的对象管理

引入spring.jar和commons-logging.jar两个基本包。

1、创建容器配置文件,添加<bean>的定义

<bean id="别名" class="包名.类名"/>

2、创建容器对象,获取bean对象

ApplicationContext ctx =

new ClassPathXmlApplicationContext("applicationContext.xml"); ctx.getBean("别名");

1.4、使用工厂方式创建对象

1、容器通过反射创建

2、工厂方法

3、静态工厂方法

1.5、对象的生命周期

1、对象创建时机

默认是在容器创建时,将对象创建出来。

可以在<bean/>元素中使用lazy-init="true",将该对象指定为使用

时创建。

2、指定对象初始化和销毁方法

可以在<bean/>元素中使用init-method="方法名"指定初始化方法

可以在<bean/>元素中使用destroy-method="方法名"指定销毁方法,次属性只对单例模式有效。

init方法在创建对象时执行,destroy方法在销毁容器时执行。

3、默认情况下,容器创建的对象的模式是一个单例模式。

可以在<bean/>元素中使用scope指定创建模式.默认为singleton,可以指定为prototype。

4、如果应用于Web环境中,可以指定为request,session,global session。

1.6、DI(依赖注入) Dependence Inject

1、setter方法注入(推荐使用)

<property name="personDao" ref="personDao2"/>

2、构造方法注入

<constructor-arg index="0" ref="personDao">

</constructor-arg>

3、注解方式注入

二、集合属性注入

2.1、常用注入类型属性值

注入Set,List,Map,Properties类型的属性值

2.2、注解方式配置

注解可以简化XML配置.

1、自动扫描(引入common-annotation.jar包)

a、首先在spring主配置文件中添加 <context:component-scan base-package="包路径"/>

b、在class中使用注解,指定哪些Bean被纳入容器。

@Component、@Controller、@Service、@Repository

注意 : 扫描的组件默认别名为"类名首字母小写",可以在注解中指 定别名,格式为:@Service("别名")

2、生命周期控制及scope创建模式

@PostConstruct 等价于<bean/>元素中的init-method

@PreDestroy 等价于<bean/>元素中的destroy-method

@Scope("prototype")等价于<bean/>元素中的scope="prototype"属

性。

3、注入

a、 @Autowired : 按类型匹配注入.如果需要按照名称,可以使用@Qualifier("personDao")指定Bean别名。

@Autowired(required=false) : required属性表示该属性是否必须注入一个对象。

b、@Resource : 默认先按名称,再按类型.如果需要按照名称,可以使用@Resource(name="personDao")。

注意:如果单独使用(2),(3)注解,需要在spring配置中添加。

<context:annotation-config/>

如果使用(1),(2),(3)注解,只需要指定自动扫描配置就可以。

<context:component-scan base-package="包路径"/>

c、AOP

AOP:面向切面编程.是对OOP编程的提升,可改善程序结构。

主要思想是将共通处理封装成切面对象,利用Spring容器将切面对象 作用到某一批目标对象之上。当执行目标对象方法时,会执行切面对象的功能。

相关概念

1、 切面:用于封装共通处理(即关注点),将来用于横切多个目标对象。

2、 连接点:程序在调用时的某个特定点,比如方法调用或者异常处理。

3、切入点: 连接点的集合,一个连接点集合的表达式(与正则表达式相似)。

4、通知:在连接点上执行的动作,比如前置通知,后置通知,异常通知,环绕通知,最终通知。

5、织入:把切面连接到其他应用程序类型或对象上.该过程在运行时完成。

6、目标对象:目标对象。

7、AOP代理:Spring容器会为每一个目标对象动态创建一个AOP代理对象。

2.3、AOP示例(注意:引入

aspectjrt.jar,aspectjweaver.jar,cglib-nodep-2.1_3.jar)。

a、execution - 匹配方法执行的连接点,这是你将会用到的Spring的最主要的切入点指示符。

b、execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern)throws-pattern?)

c、任意公共方法的执行: execution(public * *(..))

任何一个名字以“set”开始的方法的执行: execution(* set*(..)) d、 AccountService接口定义的任意方法的执行:

execution(* com.xyz.service.AccountService.*(..))

e、 在service包中定义的任意方法的执行:

execution(* com.xyz.service.*.*(..))

f、 在service包或其子包中定义的任意方法的执行:

execution(* com.xyz.service..*.*(..))

2.4、AOP注解配置

1、在spring配置文件中启用AOP注解: <aop:aspectj-autoproxy/> 2、编写切面组件,使用以下注解定义切入点,通知等: @Aspect : 将当前类指定为切面组件 @Pointcut : 定义切入点 @Around("切入点引用") @Before("切入点引用") @After("切入点引用") @AfterReturning(pointcut="切入点",returning="参数名") @AfterThrowing(pointcut="切入点",throwing="参数名")

2.5、切入点定义

1、execution表达式 : 匹配方法的连接点。 (modifiers-pattern? ret-type-pattern execution

declaring-type-pattern? name-pattern(param-pattern)throws-pattern?)

2、bean表达式 : 匹配容器中bean对象的id或name属性值

bean (idOrNameOfBean)

3、within表达式: 匹配某一个或某一批特定类型within(包名.类

型)

示例1:在com.xyz.service.DeptService接口中的任意连接点 within(com.xyz.service.DeptService)

示例2:在service包中的任意连接点 within(com.xyz.service.*) 示例3:在service包或其子包中的任意连接点 within(com.xyz.service..*) 4、this和target : 匹配某一个类型实例的任意连接点.与within

区别在于不允许使用通配符。

this(代理对象类型),target(目标对象类型)。 示例1 : 实现了AccountService接口的代理对象的任意连接点。 this (com.xyz.service.AccountService) 示例2 : 实现AccountService接口的目标对象的任意连接点。 target (com.xyz.service.AccountService) 5、args表达式 : 匹配方法参数类型的连接点 args (参数类型) 示例1 : 任何一个只接受一个参数,并且运行时所传入的参数 是Serializable 接口的连接点 args (java.io.Serializable) 6、以上表达式可以使用运算符组合 ||,&&,!,and,or,not

二、总结

3.1、Spring框架作用

Spring框架提供了一套完整的企业级解决方案.基于该框架可以整合现有流行的Struts,Hibernate等框架.可以降低各层组件之间的依赖性.

3.4、Spring框架对JDBC的支持

1、引入数据库驱动和dbcp连接池的jar包。

commons-dbcp.jar,commons-pool.jar,commons-collections.jar,mysql-connector-java-5.1.6-bin.jar。

2、在spring配置文件中添加dataSource的定义。

3、编写DAO组件,使用JdbcTemplate工具类。

4、在spring配置文件中添加dao定义,注入dataSource对象。

相关推荐