关于spring使用注解定义组件
来源:互联网 发布:socket io 知乎 编辑:程序博客网 时间:2024/06/18 14:46
使用注解之后就可以不用在ioc容器里设置beanid了,直接在类中进行定义,注解方法在每一层都是不一样的
作用:在开发时对项目的每一层进行划分
* 功能介绍
@Service用于标注业务层组件、
@Controller用于标注控制层组件(如struts中的action)、
@Repository用于标注数据访问组件,即DAO组件。
而@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
(1)在spring容器中定义:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!--添加组件的自动扫描,在扫描范围的类中,都可以使用对注解的支持
base-package="cn.itcast":cn.itcast表示此时扫描的范围是在cn.itcast包中的所有类,都可以使用注解
注解包括@Component、@Service、@Controller、@Repository、还包括@Autowired,@Resource
-->
<context:component-scan base-package="cn.itcast"/>
</beans>
(2)在Dao层代码上定义:
/**
* @Repository标注在类的上面
* 相当于spring容器中定义:
* <bean id="userDaoImpl" class="cn.itcast.dao.UserDaoImpl"></bean>
* 此时如果没有为@Repository指定value属性的名称,此时就是按照类的名称作为spring容器中bean节点的id,并且首字母要小些
*
* @Repository(value="userDao")
* 相当于spring容器中定义:
* <bean id="userDao" class="cn.itcast.dao.UserDaoImpl"></bean>
*/
@Repository(value="userDao")
public class UserDaoImpl implements IUserDao {
public void save() {
System.out.println("执行UserDaoImpl类的save()方法!");
}
}
(3)在Service层定义:
/**
* @Service标注在类的上面
* 相当于spring容器中定义:
* <bean id="userServiceImpl" class="cn.itcast.service.UserServiceImpl"></bean>
* 此时如果没有为@@Service指定value属性的名称,此时就是按照类的名称作为spring容器中bean节点的id,并且首字母要小些
*
* @Service(userService)
* 相当于spring容器中定义:
* <bean id="userService" class="cn.itcast.service.UserServiceImpl"></bean>
*
* 再添加@Resource(name="userDao")
* 此时表示
* <bean id="userService" class="cn.itcast.service.UserServiceImpl">
* <property name="userDao" ref="userDao">
* </bean>
*/
@Service("userService")
public class UserServiceImplimplements IUserService {
@Resource(name="userDao")
private IUserDaouserDao;
public void saveUser() {
System.out.println("执行UserServiceImpl类的saveUser()的方法!");
userDao.save();
}
}
- 关于spring使用注解定义组件
- 使用Spring注解完成Bean的定义
- 使用Spring注解完成Bean的定义
- spring 组件注解
- spring组件注解
- 关于使用spring注解注入静态属性
- 关于spring的BeanFactory在使用注解的注解事项
- Spring IOC--Bean的装配(使用注解定义Bean)
- Spring IOC--Bean的装配(使用注解定义Bean)
- Spring(16)——使用注解进行bean定义
- 注解【定义+使用+读取】
- Spring注解实现Bean定义
- Spring注解实现Bean定义
- Spring注解实现Bean定义
- spring组件注解和注入注解
- 使用spring注解方式实现组件的声明,并且用注解注入方式解决依赖关系
- 关于spring注解
- 关于Spring 注解 IOC
- Unity 连接SQL Server 数据库及接受测试
- tomcat添加跨域访问功能-Access-Control-Allow-Origin:*
- 值栈与OGNL
- tensorflow保存graph和参数为pb文件
- CountDownLatch的介绍和使用
- 关于spring使用注解定义组件
- 网站建设设计前端开发需要学习html和div+css
- 无人驾驶的分级以及产品化后会带来的改善
- CSDN日报20170524 ——《2017 软件精英挑战赛总结》
- 医生博客汇总
- 记录网页制作过程中遇到的问题及解决方案
- CKEditor 添加自定义插件
- 关于Android中ExpandableListView子项是Button控件而单击事件没有响应的问题
- jdk代理与CGLIB快速上手应用