加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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的值

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读