Spring 优点
- Spring 是一个开源的免费的框架(容器)
- Spring时一个轻量级的,非入侵式的框架
- 控制反转(IOC (Inversion of Control)),面向切面编程(AOP(Aspect Oriented Programming))
- 支持事务的处理,对框架整合的支持
从配置创建对象
如果我们自己想在 Java 中创建多个对象,只能笨拙地 O o1 = new O(), O o2 = new O()
,
但是在 Spring 中,只需要填写配置文件*.xml
,就能根据文件中的属性自动为我们创建对象,
然后我们可以从 XmlContext 中去获取我们创建的对象,相当于我们的对象被 Spring 托管了。
<!--
id : bean的唯一标识符,也就是相当于我们学的对象名
class : bean对象所对应的全限定名:包名+类型
name :也是别名,而且name 可以同时取多个别名
-->
<bean id="userT" class="com. kuang.pojo.userT" name="user2 u2,u3;u4">
<property name="name " value="西部开源"/>
</bean>
<!-- 转自 狂神说 -->
注入方式
- set注入-睿站-狂神说
- 命名空间注入-睿站-狂神说: 就是 p(property)和 c (constructor)
模式
- 单例模式:bean 中一个对象就是一个对象,context中只有一个
- 原型模式:每次 get 都能得到一个新对象
autowired
自动装配
- ByName: 在 xml 中指定
- ByType: 在 xml 中指定
- 注解 @Autowired: 通过注解实现了 ByName,可以不用写 set 方法,因为底层通过反射实现了
- 注解 @Resource: 默认通过byName的方式实现,如果找不到名字,则通过byType实现!
使用注解开发
Spring 能够解析注解,本来我们需要在 xml 中进行繁琐的配置,可以用注解来简化。
常用的注解有:
component
- dao: @Repository
- service: @Service
- controller: @Controller
专业地说,将我们的类托管到 Spring 的容器中。
小结
转自狂神说
xml 与注解:
- xml 更加万能,适用于任何场合!维护简单方便。注解不是自己类使用不了,维护相对复杂!
xml与注解最佳实践: - xml 用来管理bean;
- 注解只负责完成属性的注入;
- 我们在使用的过程中,只需要注意一个问题:必须让注解生效,就需要开启注解的支持