java注解

来源:互联网 发布:图像处理算法 编辑:程序博客网 时间:2024/06/15 21:42

写在前面:初学spring,由于都是看项目来理解,动手不是很多,所以对注解在xml文件的配置不是很熟悉

首先,想要注解能有有效,写上这句<context:component-scan base-package="jdbc"/>和<mvc:annotation-driven /> 其中jdbc是我的根目录,在这个包下还有一些其他包,这些包里面都有注解,这样说有的注解都可以使用。


Spring的注解形式:@Repository、@Service、@Controller,它们分别对应存储层Bean,业务层Bean,和展示层Bean。

@Repository用于标注数据访问组件,即DAO组件;让spring框架自动扫描,不用到xml中写bean。
@Service("service")中,参数service  是有用的相当于 xml配置中得bean  id = service  也可以不指定 不指定相当于 bean id =  com. service.service 就是这个类的全限定名,表示给当前类命名一个别名,方便注入到其他需要用到的类中;不加的话,默认别名就是当前类名,但是首字母小写 
@Transactional  在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。 
事务就是对一系列的数据库操作(比如插入多条数据)进行统一的提交或回滚操作,如果插入成功,那么一起成功,如果中间有一条出现异常,那么回滚之前的所有操作。
 @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。
@resource  
@resource注解就是把一个bean注入到当前的类中,可以不必通过配置文件或者导包的方式注入就可以使用该bean,默认是ByName的方式注入,如:
@resource(name=“personDaoBean”)
private personDaoBean personDaobean;
这样就可以直接使用personDaoBean这个Bean,以及其setter和getter方法。
@ServerEndpoint
该注解用来指定一个URI,客户端可以通过这个URI来连接到WebSocket。类似Servlet的注解mapping。无需在web.xml中配置。
比如@ServerEndpoint("/chat"),这样http://localhost:8080/项目名/chat 这个地址就存在
@Before和@Test
@Before在程序的最开始执行,@Test相当于Main函数,运行方式:右键-》Run as->JUnit Test。
package redis;import org.junit.Before;import org.junit.Test;public class Main {@Before    public void setup() {System.out.println("@Before在程序开始的时候首先执行");}@Testpublic void run(){System.out.println("@Test相当于main函数,程序会自动执行程序的内容");}}
结果为:@Before在程序开始的时候首先执行
@Test相当于main函数,程序会自动执行程序的内容

 
原创粉丝点击