项目中使用的spring 注解说明
来源:互联网 发布:如何评价阿凡达 知乎 编辑:程序博客网 时间:2024/05/20 05:03
项目中使用的spring 注解说明
以前在项目中spring 的依赖注入使用 xml 配置,现在使用 注解(Annotation) 来实现配置。
1声明bean
1.1实例
有类:
public class MyBean{
//do something
}
xml 方式:
<bean id="myBean"class="com.bean.MyBean"/>
注解方式:
@Component("myBean")
public class MyBean {
//do something
}
1.2说明
除了使用 @Component 注解,还可以使用 @Controller, @Service, @Repository 。一般情况下 service 使用 @Service ,dao 使用 @Repository ,其他的使用 @Component(@Controller 一般在使用 spring mvc 的时候使用)。
1.2.1配置scope (生命周期)
spring 默认为 "singleton" 单例,没有特别原因建议使用"prototype"
xml 方式:
<bean id="myBean" class="com.bean.MyBean" scope="prototype"/>
注解方式:
@Component("myBean")
@Scope("prototype")
public class MyBean {
}
2.注入bean
2.1实例
将 myBean 注入到 myBean2
有类:
public class MyBean{
//do something
}
public class MyBean2 {
private MyBean myBean;
//do someting
}
xml 方式:
<bean id="myBean" class="com.bean.MyBean"/>
<bean id="myBean2"class="com.bean.MyBean2">
<propertyname="myBean" ref="myBean"/>
</bean>
注解方式:
@Component("myBean")
public class MyBean {
//do something
}
@Component("myBean2")
public class MyBean2 {
@Autowired
private MyBean myBean;
//do someting
}
2.2说明
注入bean 可以使用以下注解
@Resource, @Autowired, @Inject
2.2.1注入方式
a)属性注入
@Component
public class MyBean2 {
@ Autowired
private MyBeanmyBean;
}
b)方法注入
@Component
public class MyBean2 {
private MyBean myBean;
@ Autowired
private voidsetMyBean (MyBean myBean){
this.myBean = myBean;
}
}
c)构造方法注入
@Component
public class MyBean2 {
private MyBean myBean;
@ Autowired
public MyBean2(MyBean myBean){
this.myBean = myBean;
}
}
3.其他
依赖注入的层次最好符合这样的约束:action 使用 service ;service 使用 dao.
3.1注解使用示例
public interface UserDao {
}
//通过 @Compoent 声明 spring bean,@Repository
@Scope("prototype")
public class UserDaoImpl implements UserDao {
//省略...
}
/*************************性感的分隔线**************************/
public interface UserService {
}
@Service
@Scope("prototype")
public classUserServiceImpl implements UserService {
//通过 @Autowired 注解注入 SysUserLoginDao 依赖
@Autowired
private UserDao userDao;
//省略
}
public class UserAction {
@Autowired
privateUserService userService;
public Stringexecute(){
//do something
}
}
- 项目中使用的spring 注解说明
- 项目中使用的spring 注解说明
- spring中@Component @resource注解的说明
- Spring Boot项目中自定义注解的使用
- Spring Boot项目中自定义注解的使用
- spring的注解说明
- Spring中注解的使用
- spring中注解的使用
- SSM框架中使用Spring的@Transactional注解进行事务管理(详细说明)
- spring注解的详细说明
- Spring 注解时使用@Autowired的情况说明
- 五、Spring中注解的使用
- Spring中Value注解的使用
- Spring中Value注解的使用
- Spring MVC中使用到的注解
- Spring的注解Controller中使用AOP
- Spring中@PropertySouce注解的使用
- Spring数据传递中注解的使用
- Contains Duplicate II
- jQuery CSS 操作 - height() 方法
- Spring 4支持的Java 8新特性一览
- UVALive 6284 Hyperdrome 位运算+has
- 4 JSP+Servlet + JDBC 实现简单的登录验证模块
- 项目中使用的spring 注解说明
- JavaScript权威指南_165_第17章_事件处理_17.2-注册事件处理程序-attachEvent()
- 解决Spring注解无法注入静态变量的问题
- 扁平化按钮
- 黑马程序员——File类及其常见操作
- PKU 1140 - Brackets Sequence (区间dp + 记忆化)
- IDF实验室之简单的PE文件逆向
- Ember.js 入门指南——属性传递
- 快速排序算法简述