在UserService中提供一个get/set的name方法,在beans.xml中通过property去注入
一个实现类的属性 name;
3.1 类路径获得配置文件
3.4
BeanFactory和ApplicationContext对比,
ApplicationContext是对BeanFactory扩展,提供了更多功能
对比,BeanFactory用的时候在加载,ApplicationContext的是全加载。
4、依赖注入Bean属性(xml)
构造方法注入
属性setter方法注入
p命名空间注入【了解】
6.2 SpEL表达式【了解】
Spring 表达式
对进行统一编程,所有的内容都使用value
#{123}、#{'jack'}:数字、字符串
#{beanId}:另一个bean引用
#{beanId.propName}:操作数据
#{beanId.toString()}:执行方法
#{T(类).字段|方法}:静态方法或字段
6.3 集合注入
集合的注入都是给添加子标签
数组:
List:
Set:
Map: ,map存放k/v 键值对,使用描述
Properties: 【】
普通数据:
引用数据:
6.4 注解注入
注解:就是一个类,使用@注解名称
开发中:使用注解取代 xml配置文件。
在调用Spring注解的时候,一定要先开启它的扫描;
其中base-package为需要扫描的包(含所有子包)
1、@Service用于标注业务层组件
2、@Controller用于标注控制层组件(如struts中的action)
3、@Repository用于标注数据访问组件,即DAO组件.
4、@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Service public class UserServiceImpl implements UserService { }
@Repository public class UserDaoImpl implements UserDao { } getBean的默认名称是类名(头字母小写),如果想自定义,可以@Service(“***”) 这样来指定,这种bean默认是单例的,如果想改变,可以使用@Service(“beanName”)
@Scope(“prototype”)来改变。可以使用以下方式指定初始化方法和销毁方法(方法名任意): @PostConstruct public void init() { }
注解使用案例
第一个