spring需要依赖:
org.springframework spring-webmvc
1.spring优点:轻量级的控制反转(ioc)和面向切面(aop)容器
2.控制:spring创建对象(在xml配置文件中修改,不再需要new对象)
3.反转:程序被动接受对象
4.依赖注入:利用set方法注入
value:常量出入 ,ref:bean注入,
list注入,map注入,
null注入,
5.bean
id为标识符(唯一),name为默认标识符,如果id,name同时存在,name为别名。.
class为bean权限定名=包名+类名
6.classpathxmlapplicationcontext已经构建,getbean时调用set方法注入
7.bean.xml三种方式编写
index指构造方法(constructor-arg index="0" value="")
name指参数(constructor-arg name="name" value)
第三种根据参数类型设置值(constructor-arg type="java.lang.String" value="")
8.起别名(为bean设置别名)
9.import
10.p,c命名(ps:头文件加入约束文件),构造器注入
11.bean作用域 scope=""
singleton:ioc中只有一个实例。scope="singleton"
prototype:调用getbean相当于执行new XXXBean。scope="prototype"或者singleton="false"
equest:每次请求HTTP创建新bean,仅仅作用与webapplicationContext
session:同一个HTTPsession共享一个bean,不同session公用不同bean
12.自动装配
aurowire="byname"保证id唯一自动寻找bean。给需要注入的对象的名字且相同的bean,从当前配置目录下搜索,,自动装配
aurowire="bytype"保证class唯一
13.注解自动装配
导入约束,注解驱动
@Autowired:属性上使用或set方式,byname方式注入,为空报错
@Qualifier(value="")指定xml里面的bean
@Nullable可以为空
@Resource先通过id名字查找,然后再通过类查找,两个都失败,报错
14.
扫描包下的注解
15.使用注解注入
@Component("user")类上添加。添加的类被spring接管相当于
@Value("值")相当于
16.衍生注解
@controller:web层
@Service:service层
@Repository:dao层
@scope:默认singleton详细可看11条
17.全注解开发
在config包写一个配置类
@Configuration:表示为一个配置类
@Bean:注册一个bean,返回就为bean的类型,方法名字为id
@import(XXX.class)合并其他配置类



