1、Spring的Bean的管理XML的方式
Ⅰ、Spring的Bean的普通属性注入
【构造方法的方式注入普通属性】
代码语言:javascript复制
【set方法的方式注入普通属性】
代码语言:javascript复制
Ⅱ、Spring的属性注入:对象类型的注入
代码语言:javascript复制
Ⅲ、名称空间p的属性注入的方式:Spring2.x版本后提供的方式
代码语言:javascript复制第一步:引入p名称空间
第二步:使用p名称空间.
* 普通属性: p:属性名称=””
* 对象类型属性: p:属性名称-ref=””
Ⅳ、SpEL的方式的属性注入:Spring3.x版本后提供的方式
代码语言:javascript复制SpEL:Spring Expression Language.
语法:#{ SpEL }
引用了另一个类的属性
Ⅴ、注入复杂类型
代码语言:javascript复制 会希
冠希
天一
芙蓉
如花
凤姐
root
123
Ⅵ、Spring的配置文件的开发
代码语言:javascript复制一种:创建工厂的时候加载多个配置文件:
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml","applicationContext2.xml");
二种:在一个配置文件中包含另一个配置文件:
2、Spring的Bean管理-注解方式
步骤一:下载Spring的开发包
步骤二:创建web项目,引入Spring的开发包
在Spring的注解的AOP中需要引入spring-aop的jar包
步骤三:引入相关配置文件
log4j.properties
applicationContext.xml
代码语言:javascript复制引入约束:
spring-framework-4.2.4.RELEASEdocsspring-framework-referencehtmlxsd-configuration.html
* 引入约束:(引入context的约束):
步骤四:编写相关的类
代码语言:javascript复制public interface UserDao {
public void sayHello();
}
public class UserDaoImpl implements UserDao {
@Override
public void sayHello() {
System.out.println("Hello Spring...");
}
}
步骤五:配置注解扫描
代码语言:javascript复制
步骤六:在相关的类上添加注解
代码语言:javascript复制@Component(value="userDao")
public class UserDaoImpl implements UserDao {
@Override
public void sayHello() {
System.out.println("Hello Spring Annotation...");
}
}
步骤七:编写测试类
代码语言:javascript复制@Test
public void demo2() {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
"applicationContext.xml");
UserDao userDao = (UserDao) applicationContext.getBean("userDao");
userDao.sayHello();
}
3、Spring的Bean管理的中常用的注解
Ⅰ、@Component:组件.(作用在类上)
代码语言:javascript复制Spring中提供@Component的三个衍生注解:(功能目前来讲是一致的)
* @Controller :WEB层
* @Service :业务层
* @Repository :持久层
这三个注解是为了让标注类本身的用途清晰,Spring在后续版本会对其增强。
Ⅱ、属性注入的注解:(使用注解注入的方式,可以不用提供set方法.)
代码语言:javascript复制@Value :用于注入普通类型.
@Autowired :自动装配,默认按类型进行装配.
@Qualifier :按名称注入,强制使用名称注入.
@Resource相当于: @Autowired和@Qualifier一起使用.
Ⅲ、Bean的作用范围的注解
代码语言:javascript复制@Scope:
* singleton:单例
* prototype:多例
Ⅳ、Bean的生命周期的配置
代码语言:javascript复制@PostConstruct :相当于init-method
@PreDestroy :相当于destroy-method
4、Spring的Bean管理的方式的比较
* XML :结构清晰.
* 注解 :开发方便.(属性注入.)
实际开发中还有一种XML和注解整合开发:Bean有XML配置.但是使用的属性使用注解注入.