spring扫描包管理bean
来源:互联网 发布:大数据走势 找规律 编辑:程序博客网 时间:2024/05/20 11:33
一、spring扫描包规则以及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-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:component-scan base-package="cn.itcast"/> //base-package可以扫描该包以及子包
</beans>
为了解决较大项目中有较多组件带来的配置文件体积臃肿的问题,spring2.5引入了组件自动扫描的机制,它可以在类路径下寻找标注了@Component、@Service、
@Controller、@Repository注解的类,并把这些类纳入到spring容器中了管理(在基本包下哪个类又以上四个注解中的一个,就会被spring管理)。其中,@Service用于标注业
务层组件(service层或者bo层);@Controller用于标注控制层组件(主要是struts的Action);@Repository用于标注数据访问组件(Dao层);@Component 为泛指组件,但
一个java类不好分类时,进行标注。
二、java类中加入注解
@Service
public class PersonServiceBean implements PersonService {
private PersonDao personDao;
@PostConstruct //初始化注解 相当于bean中的 init-method属性
public void init(){
System.out.println("初始化");
}
@PreDestroy //销毁注解 相当于bean中的 destroy-method
public void destory(){
System.out.println("开闭资源");
}
public void save(){
personDao.add();
}
}
@Repository
public class PersonDaoBean implements PersonDao {
public void add(){
System.out.println("执行PersonDaoBean中的add()方法");
}
}
service层和dao层的两个java类在加上相应的注解后,在启动容器的时候,spring自动扫描到该注解就会把这两个类放到spring中来管理。那么在getBean的时候就能够获
得这两个对象信息。
3)测试加上注解的类是否被spring自动扫描并管理
public class SpringTest {
@Test public void instanceSpring(){
AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
//spring 的自动扫描会把类名字第一个字母小写成为bean,也可以指定bean 在注解中指定@Service("personService")
PersonService personService = (PersonService)ctx.getBean("personServiceBean ");
ctx.close();
}
}
- spring扫描包管理bean
- Spring-自动扫描管理bean
- Spring、Spring自动扫描和管理Bean
- Spring扫描自定义jar包中的Bean
- 让Spring自动扫描和管理Bean
- Spring自动扫描和管理Bean
- spring自动扫描和管理bean
- Spring自动扫描和管理Bean
- 让Spring自动扫描和管理Bean
- Spring自动扫描和管理bean
- Spring自动扫描和管理Bean
- Spring(九)让Spring自动扫描和管理Bean
- spring bean 根据包路径扫描对象加载过程
- 第二章 IoC Spring自动扫描和管理Bean
- spring_让 spring自动扫描和管理bean
- Spring 中的Bean 自动扫描
- spring bean自动扫描分析
- spring bean自动扫描分析
- linux进程管理笔记
- this,context,getActivity()和getApplicationContext()
- DNS字典爆破
- vue-事件修饰符和按键修饰符
- TabBarController
- spring扫描包管理bean
- 小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?
- Android中的View全解析(三)
- cgdb基本用法总结
- 【Java】Java中两个float计算得出错误结果
- 二分贪心 T 装箱
- 使用TLP不能挂载优盘的解决方法
- Flink Streaming cornerstones
- Node — Koa2