首页 > > > springIOC与Aop简介
Spring框架




限制版本配置方式:


<bean id=”” class=”” scope=”” lazy-init=”” init-method=”” destroy=””></bean>
注:scope的值有两种:
singleton单例 整个容器中只有一个对象实例 ,每次总是访问同一个对象(默认是单例)
prototype原型 每次获取bean都产生一个新的对象(效率降低)
Lazy-init属性的值有两种:
true:延迟初始化,在用到对象的时候才会创建对象
false:默认值,不延迟创建,启动时候就会创建对象


ApplicationContext context1 = new FileSystemXmlApplicationContext("D://ssm-workspace//Spring_Ioc//resources//spring.xml");
(2)利用ClassPathXmlApplicationContext从资源目录下获取spring文件
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
注:资源目录:Maven项目resources、web项目src
xmlns:p="http://www.springframework.org/schema/p"
<bean id=”” class=”” p:属性=”” p:属性-ref=””></bean>
(5)spel注入:<property name=”” value=”#{对象名.属性名}”></property>
(6)list:<property><list><value></value>...<value></value></list></property>
(7)map:<property>
<entry>
<key><value></value></key>
<value></value>
</entry>
</property>
(8)、<property name="info">
<props>
<prop key="学号">50222</prop>
<prop key="sex">5</prop>
</props>
</property>


(2)给某个类创建对象的注解:
注:在类名上方加上@Component注解后,意为将UserController让spring管理,相当于:
<bean id=”userController” class=”com.qianf.controller.UserController”></bean>
特别注意,每个类都有默认无参构造方法。如果此类写了有参构造方法,需手动生成无参构造方法;如果没有写有参构造方法,此类会有默认无参构造方法,可以不写


(3)在spring文件中添加:扫描此包下有注解的类并创建此类的对象
<!--扫描包设置-->
<context:component-scan base-package="com.qianf.controller"/>
注:如果想用注解方式让spring来管理对象,必须在spring.xml文件中配置此扫描设置,扫描某个包下所有类,哪个类上写了@Component,spring就会管理哪个类
(4)给此对象的属性赋值


(5)@Value(“”)注解得作用是给普通变量类型赋值
(6)如果类属性中出现其他类对象,需要利用@Autowired(自动装配)注解,并且自动装配 得类也要交给spring管理才能自动装配


自动扫描就需要在扫描此类所在得包才能得到
<context:component-scan base-package="com.qianf.controller,com.qianf.service"/>
(7)@Qualifier(“对象名”),标记具体用哪一个接口实现类
如果上述UserService是一个接口,并且有两个接口实现类:
UserServiceImpl1,UserServiceImpl2,需要用@Qualifier来标记,此处接口用哪个实现类


(8)@Resource(“接口实现类名”) ==@Autowired+@Qualifier(“接口实现类名”)












原文作者:;如有侵权,请联系管理员删除。