视频网站开发 博客园,延边省建设局网站官网,网站模板是什么意思,在线网站制作系统注解方式可以简化spring的IOC容器的配置#xff0c;但不利于后期维护#xff0c;对象之间的依赖关系不能像xml文件一样方便查阅#xff0c;一目了然。
注解可以和XML配置一起使用。 使用注解步骤#xff1a; 1#xff09;先引入context名称空间 xmlns:contexthtt…注解方式可以简化spring的IOC容器的配置但不利于后期维护对象之间的依赖关系不能像xml文件一样方便查阅一目了然。
注解可以和XML配置一起使用。 使用注解步骤 1先引入context名称空间 xmlns:contexthttp://www.springframework.org/schema/context 2开启注解扫描指出要扫描哪个包下的类 context:component-scan base-packagezengmg.e_anno2/context:component-scan 3使用注解 通过注解的方式把对象加入ioc容器。 创建对象以及处理对象依赖关系相关的注解 Component 指定把一个对象加入IOC容器 Repository 作用同Component 在持久层使用 Service 作用同Component 在业务逻辑层使用 Controller 作用同Component 在控制层使用 Resource(namexxx) 属性注入按name查找 Resource属性注入按type查找确保同类型的只有一个
-----------***下面举例****-----------
UserAction.java import javax.annotation.Resource;import org.springframework.stereotype.Component;Component(userAction) // 加入IOC容器iduserAction
public class UserAction {Resource(name userService)private UserService userService;public void setUserService(UserService userService) {this.userService userService;}public String execute() {userService.save();return null;}
}UserService.javaimport javax.annotation.Resource;import org.springframework.stereotype.Component;Component(userService) // userService加入ioc容器
public class UserService {// 会从IOC容器中找userDao对象注入到当前字段/** bean id class * property nameuserDao refuserDao / Resource相当于这里的配置* /bean*/Resource(name userDao)private UserDao userDao;public void setUserDao(UserDao userDao) {this.userDao userDao;}public void save() {userDao.save();}
}UserDao.javaimport org.springframework.stereotype.Component;// 把当前对象加入ioc容器
Component(userDao) // 相当于bean.xml 【bean iduserDao class.. /】
public class UserDao {public void save() {System.out.println(zengmg-DB:保存用户!!!);}
}bean.xml?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:phttp://www.springframework.org/schema/pxmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd!-- 开启注解扫描 --context:component-scan base-packagezengmg.e_anno/context:component-scan
/beans 测试代码import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class App {// 创建容器对象private ApplicationContext ac new ClassPathXmlApplicationContext(zengmg/e_anno/bean.xml);Testpublic void testExecuteAction() {// 从容器中获取ActionUserAction userAction (UserAction) ac.getBean(userAction);userAction.execute();}
}