搭建Spring框架
Spring框架搭建
jar导入
- spring-core:依赖注入IOC与DI的最基本实现
- spring-beans:Bean工厂与bean的装配
- spring-context:spring的context上下文即IoC容器
- spring-context-support
- spring-expression:spring表达式语言
配置SpringConfig.xml文件
<?xml version="1.0" encoding="UTF-8"?><beans xmlns=“http://www.springframework.org/schema/beans”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
Bean的装配
-
基于xml配置的装配
-
Property 属性解释 class 指定bean对应类的全路径 name name是bean对应对象的一个标识 scope 执行bean对象创建模式和生命周期 id id是bean对象的唯一标识,不能添加特别字符 lazy-init 是否延时加载 默认值:false init-method 对象初始化方法 destroy-method 对象销毁方法
ApplicationContext app=new ClassPathXmlApplicationContext(“SpringAutoScan.xml”);
ApplicationContext app=new FileSystemXmlApplicationContext(“SpringConfig.xml”);
app.getBean(“id”);
创建对象的方式
-
无参构造
-
静态工厂方法
-
非静态工厂方法
-
参数注入
-
- set方法注入
-
- 构造方法注入
-
构造函数方法
<conshuctor-org index="" value/ref-""></conshuctor-org> 参数名 <conshuctor-org value/ref-"" name=""></conshuctor-org> 类型 当参数名相同的,用type区分 <conshuctor-org name="" value/ref-"" type="" ></conshuctor-org>
-
P空间命名
-
-
配置文件添加p命名空间
-
代码
<bean id="" class="" p:属性名/p:属性名-ref="">
-
-
自动注入
-
-
属性autowire
-
no 不自动装配 byName id=“属性名” byType 类型,多个同类型报错 constructor 构造方法的参数类型与id对象的类型相同 -
配置在里面,表示全局自动装配
-
配置在里面,表示单个自动装配
-
复杂类型注入
-
Spring表达式
#{对象名.属性名}
-
基于注解
-
-
SpringConfig.xml文件添加context;
-
添加context-scan扫描
-
添加注解
类:
@Component+("")//普通实现类:里面是id名,默认是首字母小写类全拼,以下全是
@Repository//dao层:
@controller//servlet层
@Service//service层
@Scope(scopeName=“singleton/pototype”)//表示是否单例模式创建对象
属性:
@Value("")//直接赋值
@Autowired()//类型注入
@Qualifier("")//解决相同类型实体类,指定实现类
@Resource(name="")//直接指定实现类
方法:
-
-
@PostConstruct//初始化
@PreDestory//销毁方法