Spring的概述

Spring

1.Spring的认识
1.1.Spring讲究的就是高内聚,低耦合
1.2.Spring是一个轻量级的DI/IOC与AOP的容器框架
1.2.1.1.1 轻量级(简单好用-和EJB比的话) => Spring功能也强大
1.2.2.1.2 DI(依赖注入)/IOC(控制反转) => Spring创建对象,把对象给你
1.2.3.1.3 AOP(面向切面编程) => 解决重复代码
1.2.4.1.4 容器:装东西的(装的都是bean)
1.2.5.-> Spring集成了市面上几乎所有框架
2.Spring hello :让Spring帮我们创建一个对象
2.1.1.导包
2.1.1.1.Spring以前是一个jar包,后面变成了一堆jar包,我们选择自己需要的即可
core:核心包
bean:想要创建对象,必需要bean
context:上下文包(功能能强大很多)->有了它,才能使用 ApplicationContext对象
expression:表达式包(有它后才能xml中写${})
logging:日志包(是一个依赖包,不导入的话会报错)
2.1.2.写配置(applicationContext.xml)
2.1.2.1.前置工作:准备一个类
2.1.2.2.配置怎么写? -> 百度/文档(官方文档)
2.1.2.2.1.
2.1.2.3.
2.1.3.拿核心对象(启动框架)
2.1.3.1.方式一:BeanFactory(过时)
2.1.3.1.1.//1.获到核心配置文件 applicationContext.xml
ClassPathResource resource = new ClassPathResource(“applicationContext.xml”);
2.1.3.1.2.拿到核心对象(相当于启动了框架)
// BeanFactory:Bean工厂
BeanFactory factory = new XmlBeanFactory(resource);
2.1.3.1.3.获取bean对象
HelloBean bean = factory.getBean(“helloBean”,HelloBean.class);
2.1.3.2.方式二:ApplicationContext(建议)
2.1.3.2.1.获到核心配置文件 applicationContext.xml
2.1.3.2.2.拿到核心对象(相当于启动了框架)
2.1.3.2.3.ClassPathXmlApplicationContext
2.1.3.2.4. 注意:ApplicationContext就是一个Bean工厂,且功能强大得多
2.1.3.2.5.ApplicationContext context = new ClassPathXmlApplicationContext(“applicationContext.xml”);

3.BeanFactory与ApplicationContext的区别(面试题)
3.1.1.ApplicationContext是BeanFactory的子接口
3.1.2.ApplicationContext更加强大(国际化,资源访问,传播机制等等)
3.1.3.BeanFactory是懒加载策略,ApplicationContext是及时加载(用得多一些)
3.1.3.1.懒加载:用到的时候才创建对象
4.依赖注入
4.1.1.注意:属性一个要提供setter方法
4.1.2.
4.1.3.
4.1.3.1.
4.1.3.2.
4.1.3.4.
4.1.4.
4.1.5.Java代码:
class MyBean{
private YouBean youBean;
public void setYouBean(){…}
}
4.1.6.注解注入:先根据名称找,找不到就根据类型获取
4.1.6.1.名称是可以进行配置的!!!
4.1.6.2.@Autowired
4.1.6.3.@Resource

5.Spring的测试(让测试在Spring的环境中)
5.1.1.测试是用到了面向切面的功能了
5.1.2.导包: test:测试 ,aop:面向切面编程
5.1.3.测试类上加注解
5.1.3.1.启动Spring
5.1.3.2.@RunWith(SpringJUnit4ClassRunner.class)
5.1.3.3.找到配置文件
5.1.3.4. 写路径(classpath:spring.xml)
5.1.3.5. 没有路径默认找到当前 类名-Context.xml 文件
5.1.3.6.@ContextConfiguration
5.1.4.获到Spring中的对象(使用注解注入)
5.1.4.1.@Autowired
5.1.4.2.private ScopeBean scopeBean;
6.Spring细节认识
6.1.1.scope:作用域
6.1.1.1.默认Spring中的Bean都是单例的
6.1.1.2.通过配置 scope=“prototype” 改成多例
6.1.1.3.
6.1.2.懒加载
6.1.2.1.默认及时加载
6.1.2.2.可以设置懒加载
6.1.2.3.全局: <beans … default-lazy-init=“true”>
6.1.2.4.单个: <bean … lazy-init=“true”>
6.1.3.Bean的生命周期
6.1.3.1.单例的对象才有生命周期
6.1.3.2.init-method:初始化方法(对象创建之后) destroy-method:销毁方法(对象销毁之前)
<bean id=“lifeBean” class=“cn.itsource._06_life.LifeBean”
init-method=“init” destroy-method=“destory”

7.Web中启动Spring
7.1.1.> 注意:需要加web包
7.1.2.dao-service-controller
7.1.3.web.xml中做配置
7.1.4.监听器:监听服务器启动 -> 发现启动,把Spring也同时启动

org.springframework.web.context.ContextLoaderListener

7.1.5.读取Spring的核心配置文件
7.1.5.1.默认是到 WEB-INF下面去找 applicationContext.xml文件
7.1.5.2.一般我们会进行修改:

contextConfigLocation
classpath:applicationContext.xml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值