小白的进阶之路7

注解:

昨天学了配置文件,感觉还不错,确实之前new的方式好了很多,今天继续学习注解。

OK,开始进的入门案例

第一步,配置扫描注解,

注意:其中base-package  后面的参数是应new的对象所在包。

第二步,在需要注解的实体类加上注解。

第三步

就是和之前一样。。。。

根据刚才的小例子,我测试了一下,发现了有错误,but…我语法没错啊。。。

在我各种调试之后发现,缺个jar包,只有配置文件的六个jar包是不够的,  jar包害死人啊!还有需要一个aop的jar包。

@component有三个衍生注解,分别管理web层(@controller),dao层(@repository),和service层 (@)

属性注入:@Value 注入普通数据类型     

@ Autowire         注入的对象类型   [email protected]    强制使用名称注入

@[email protected] Autowire [email protected](此注解属于java注解)

一般情况下实体类和实现类要加注解,而接口就不需要直接。

这是用到了service类注解。

进入下一阶段,aop面向切面编程

举个例子,需要对目标文件进行修改或提高,恻然这时就需要采用动态代理,而所谓的动态代理就是在不改变的情况下,给源码外层加上一个保护层,里面可以写增强代码,动态代理有两种方式,第一种就是jdk动态代理,在有接口的情况下使用此方式,第二种动态代理是cglib,在没有接口的情况下使用子类代理。

扩展一下,一般大型公司完成项目的流程是service接口,实现类,dao接口,dao层最后是web层,,而小公司的项目就是很直接的方式  jsp--》action--》service--》dao

AOP的相关术语:连接点(joinpoint):比如备选的要增强的方法,add,delete,update,select,

        切入点(cutpoint):比如要增强的方法,以上列举的一个或多个

        增强(advice),织入,目标,介绍,切面。

aop主要是利用配置文件去配置,需要从注解的思想中跳出来。

切入点表达式:execution(public * 包名。方法名())

切入点分为:前置通知:方法执行之前增强

后置通知   after-return:方法执行之后增强,若遇到异常则不增强

最终通知:无论异不异常,都是在最后增强

异常通知:

环绕通知;

敲代码的意义是什么???

怎样才能学好它??

原文地址:https://www.cnblogs.com/hanmengdi/p/9416447.html

时间: 2024-10-18 03:18:48

小白的进阶之路7的相关文章

零基础Python学习路线,小白的进阶之路!

近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多.一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学习路线图.对于一个零基础的想学习python的朋友来说,学习方法很重要, 学习方法不对努力白费 一定要有一个正确的学习线路与方法零基础Python学习路线,小白的进阶之路!零基础Python学习路线,小白的进阶之路!必学知识:[Linux基础][Python基础语法][Python字符串][文件操作

小白的进阶之路1

在登陆的页面中,需要一个表单,<form action="\goods\loginServlet"  method="post" > 为什么要有这个servlet? 答:需要将这个用户填好的表单交给其他的东西,比如服务器,或者servlet来继续处理或响应. 用户名:<input  type="text" name="username ">. 密   码:<input type="pas

小白的进阶之路2

今天遇到的第一个问题就是我写的jsp代码在 引进css样式的时候,出现了问题,我引不进去. 试了好多次,起先的代码是<link  rel="stylesheet"  type="text/css" src="<c:url value='/css/register.jsp'\>">. 后来将register.css移到和jsp的同一路径下,代码改成<link rel="stylesheet" typ

小白的进阶之路9

---恢复内容开始--- 今天开始学习spring的事物管理 先写一个转账的例子: 动手之前,先把逻辑搞清楚: 持久层: AccountDao(){ ------>接口 public void in(String in,double money): public void out(String out,double  money): } AccountDaoImpl{------->实现类,配置文件需要注入 private serviceDao sd;------->配置文件注入时,采用

小白的进阶之路12

---恢复内容开始--- 昨天上午弄了一个简单的页面,就是关于客户管理系统,想着实现保存功能,可是问题卡在页面跳转上,从输入信息页面就是跳不到saveservlet,将用户属兔的信息用表单传给servlet,然后servlet读取后,用map封装到一个customer对象中,算了不多说,看代码. 然后今天我一生气,直接省略了页面传值这一步骤, 下面是service层. 最后是dao层 打开Tomcat,输入框输入 刷新数据库,得到了想要的结果. 如果其中出异常呢???打印结果将会发生变化,因为这

小白的进阶之路13

昨天说到了级联保存,那么什么是级联保存. 我们都知道,双向保存就是customer和linkman都要保存,那么单项保存呢?单向保存就是只保存一方,而不需要保存另一方,但是这样会出异常,这是就需要级联保存 只需要保存customer,会自动的将linkman保存到数据库中. 级联保存室友方向性的,保存客户级联联系人,保存联系人级联客户. 说道数据库,不得不承认,数据库是我的弱项,我今天想好好地补一下,然后再继续hibernate. 首先要知道:SQL是结构化查询语言:structure quer

小白的进阶之路14

---恢复内容开始--- servlet 是Javaweb的三大组件之一. 三大组件:servlet,filter,lisoner 客户端通过服务器想浏览器发出请求. 我们所写的AServlet.BServlet,都是由我们实现servlet接口的实现类. servlet是单例的,一个类一个servlet,他们的功能是不同的.但他是线程不安全的,而且效率是高的.有可能出现一个servlet处理同时处理多个请求,所以最好不要在servlet中随便创建成员变量,有可能出现一个线程是读操作,另一个线程

小白的进阶之路16

cookie:是服务器产生保存到浏览器,是http协议制定的,下一次浏览器在请求服务器时,浏览器将上一次访问产生的cookie在还给服务器. cookie是一个键值对,服务器保存cookie的响应头. cookie不能跨浏览器. cookie的属性:name:value,还有一个是生命周期,即maxage:<0; 表示cookie只在浏览器的内存中存在,浏览器进程结束,cookie则死亡. =0;访问浏览器时则死亡. >0:可以自己设置时间. 跨域cookie:比如在百度登录账号后,在百度云中

小米面经-技术岗(编程小白如何进阶)

先介绍下背景,我本科专业是硬件转软件方面,所以一开始算法基础比较差,没有做过系统设计,为了能得到好的面试机会,我一直都有努力准备,还在网上关注了各种能提高编程能力的攻略,我觉得打好基础的前提是要找到优质的学习资源,这样才能事半功倍,切忌在网上搜一些质量参差不齐的题去练习,有的连答案都不知道对不对,更别提对面试有帮助了. 我对比了几家刷题的网站,最后选了Lintcode(http://www.lintcode.com/).题目基本上涵盖了所有IT公司面试会面到的算法题,推荐给想刷题的小伙伴们,建议