Spring常用注解概括
发布时间:2021-11-18 13:53:06 所属栏目:PHP教程 来源:互联网
导读:使用注解构造IOC、替代传统的applicationContext.xml配置bean/和property/ 传统的spring要在applicationContext.xml中配置:①bean类 ②property属性 如果有100个类和若干个属性,那么我们就要写成百上千个bean、property,这种就不利于维护,使用注解就能够
使用注解构造IOC、替代传统的applicationContext.xml配置<bean/>和<property/> 传统的spring要在applicationContext.xml中配置:①<bean>类 ②<property>属性 如果有100个类和若干个属性,那么我们就要写成百上千个<bean>、<property>,这种就不利于维护,使用注解就能够解决这个问题。(项目中的方法也可以使用注解来替代) 在使用类注解前要在applicationContext.xml文件中添加: <context:component-scan base-package="news"></context:component-scan> 注意:base-package可以指定一个包也可指定多个包,多个包逗号隔开 使用了<context:component-scan/>之后就可以把<context:annotation-config/>移除,因为<context:component-scan/>也能实现扫描包路径。 1.(类)@Controller @Controller是对应控制层的<bean>,也就是action类 用法: 1 @Controller 2 @Scope("prototype") 3 public class NewsAction extends ActionSupport{ 4 …… 5 } 注意:如果@Controller不指定其value【@Controller】,则默认的bean名字为这个类的类名首字母小写,如果指定value【@Controller(value="UserAction")】或者【@Controller("UserAction")】,则使用value作为bean的名字。 2、(类)@ Service @Service对应的是业务层Bean 用法: 1 @Service("NewsService") 2 public class NewsServiceImpl implements NewsService { 3 ……… 4 } 3、(类)@ Repository @Repository对应数据访问层Bean,部分技术人员也喜欢叫dao类 用法 1 @Repository(value="NewsDao") 2 public class NewsDaoImpl extends NewsDaoImpl { 3 ……… 4 } 注意:以上三种(@Controller、@Service、@Repository)是针对不同层的类所使用的注解,下面的是针对属性所使用的注解: 4.(属性)@ Autowired (不推荐使用,建议使用@Resource) @Qualifier("...") 用法(在实现类中封装一个属性并私有化,在属性上面添加@Autowired @Qualifier) 如下: public class NewsDaoImpl implements NewsDao { //这种方式是spring注解 @Autowired @Qualifier("mySessionFactory") private SessionFactory sf; } 注意:加入@Qualifier是为了让spring准确地知道要注入的对象,括号里自定义属性名字 5.(属性)@Resource(jdk) 用法: public class NewsDaoImpl implements NewsDao { @Resource(name="mySessionFactory") private SessionFactory sf; } 通过@Resource注解来给属性sf注入一个名字为mySessionFactory的值 ![]() (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |