发表于: 2019-12-23 17:16:01

1 1255


今天完成的事情: 

1.测试一下连接DB中断后TryCatch是否能正常处理

1)trycatch的作用

如果没有try的话,出现异常会导致程序崩溃。 而try则可以保证程序的正常运行下去,如果没有try的话,程序直接崩溃。用try的话,则可以让程序运行下去,并且输出为什么出错! try的话,配合log4j使用会对程序的日后维护帮助很大。

当try语句中出现异常是时,会执行catch中的语句,java运行时系统会自动将catch括号中的Exception e 初始化,也就是实例化Exception类型的对象。e是此对象引用名称。然后e(引用)会自动调用Exception类中指定的方法,也就出现了e.printStackTrace();。 printStackTrace()方法的意思是:在命令行打印异常信息在程序中出错的位置及原因。

2)测试

测试后可以得知,连接DB中断后,程序还会继续执行,仍然能输出time。


明天计划的事情: 

1.规范代码,添加service层

2.使用Spring注解实现增删改查


遇到的问题: 

之前写的整合代码不够规范,缺少service层,对各个层的理解还不到位,又看了一遍所有层的作用,又理解了一些吧,写在了收获里。


收获:

1.之前做得代码不够规范,总结了一下写代码时的步骤

1)引入依赖

2)创建表

3)创建实体类

4)创建配置文件

5)创建dao层接口 和实现类

6)创建service层接口 和实现类

7)创建测试类

2.学习了注解的使用

1)在各个层中使用的注解都是不同的

dao层,注解为 @Repository

service层,注解为@Service

controller层,注解为@Controller

还有一个,几个层都可以使用,@Component

2)@Autowired(自动装配)的作用

在成员位置,使用@Autowired(自动装配) 

当配置文件中需要向很多对象中注入很多属性的时候, 使用@Autowired(自动装配),他会在类中,直接获取到对象,这样就可以省去配置文件中的操作,使配置文件中的代码,简洁明了

3)在测试类的上方使用 @Runwith(SpringJunit4ClassPath.class)  spring与junit整合

4)使用@ContextConfiguration(" ") 来指定赔值文件路径,它能够自动创建IOC容器对象

3.各个层的作用

1、dao层
dao层主要做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,dao层的设计首先是设计dao层的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可以再模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,dao层的数据源配置,以及有关数据库连接参数都在Spring配置文件中进行配置。
2、service层
service层主要负责业务模块的应用逻辑应用设计。同样是首先设计接口,再设计其实现类,接着再Spring的配置文件中配置其实现的关联。这样我们就可以在应用中调用service接口来进行业务处理。service层的业务实,具体要调用已经定义的dao层接口,封装service层业务逻辑有利于通用的业务逻辑的独立性和重复利用性。程序显得非常简洁。
3、controller层
controller层负责具体的业务模块流程的控制,在此层要调用service层的接口来控制业务流程,控制的配置也同样是在Spring的配置文件里进行,针对具体的业务流程,会有不同的控制器。我们具体的设计过程可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块。这样不仅使程序结构变得清晰,也大大减少了代码量。
4、view层
view层与控制层结合比较紧密,需要二者结合起来协同开发。view层主要负责前台jsp页面的显示。
5、它们之间的关系:
Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。 





返回列表 返回列表
评论

    分享到