介绍
对于 service 层的类,在类上用 @Service 注解声明
源代码
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Service {
@AliasFor(
annotation = Component.class
)
String value() default "";
}
使用
只能声明类
value属性
相当于实例化该类的 变量名,如下:
UserSrvImpl userSrv=new UserSrvImpl();
value 属性的值,相当于上面代码的 std ,通过该 名字 进行注入
如果不指定,默认值为 当前类名(首字母小写) ,具体看下面例子
例子
实现IUserService接口
在企业开发中,多使用接口,其实可以不用接口
public interface IUserService {
public List<User> query();
public void save(String username, String password);
}
实现UserSrvImpl类
@Service
public class UserSrvImpl implements IUserService {
public UserSrvImpl(){
System.out.println("UserSrvImpl构造方法");
}
@Override
public List<User> query() {
System.out.println("调用UserSrvImpl的query()方法");
return null;
}
public void save(String username,String password){
System.out.println("调用UserSrvImpl的save()方法,参数:"+username+"-"+password);
}
}
类名上使用 @Service 注解,没有指定 value 属性,那么默认值为:userSrvImpl ,可通过该名字进行注入
本文介绍了@Service注解在Spring框架中的应用,如何声明类并自定义变量名,以及如何在不指定value时使用默认名。通过实例阐述了如何实现接口和服务类,并展示了如何通过名称进行依赖注入。
1万+

被折叠的 条评论
为什么被折叠?



