4-注解开发与Junit集成
Spring注解开发Spring是轻代码而重配置的框架,一般情况下,配置比较繁重,影响开发效率,所以注解开发是一种必然趋势,注解代替XML配置文件可以简化配置,提高开发效率
Spring原始注解Spring的原始注解主要用于代替XML配置中的标签
注解
说明
@Component
使用在类上用于实例化Bean
@Controller
使用在web层类上用于实例化Bean
@Service
使用在service层类上用于实例化Bean
@Repository
使用在dao层类上用于实例化Bean
@Autowired
使用在字段上用于根据类型进行依赖注入
@Qualifier
结合@Autowired一起使用用于根据名称进行依赖注入
@Resource
相当于@Autowired+@Qualifier,按照名称进行注入
@Value
注入普通属性
@Scope
标注Bean的作用范围
@PostConstruct
使用在方法上标注该方法是Bean的初始化方法
@PreDestory
使用在方法上标注该方法时Bean的销毁方法
未使用 ...
3-相应API与配置数据源
Spring相应APIApplicationContext的实现类
ClassPathXmlApplicationContext:从类的根路径下加载配置文件(即resources文件夹中)一般情况下都使用这种
FileSystemXmlApplicationContext:从磁盘路径下加载配置文件,配置文件可以在磁盘任意位置
AnnotationConfigApplicationContext:当使用注解来配置容器对象时,需要使用这种方式来创建Spring容器,它用来读取注解
getBean()方法getBean方法可以接收两种参数,可以分别传入容器中的ID,或者是对象的类
12context.getBean("userService");context.getBean(UserService.class);
第一种方式的好处在于指向性更强,因为ID只允许出现一次,所以可以通过定义不同的ID指向相同的类,从而创建多个相同的类对象。但第二种方式如果Spring容器中有相同类对象就不能够正常识别要创建哪个对象
Spring配置数据源数据源(连接池)的作用
数据源(连接 ...
2-Spring配置文件与依赖注入
Spring配置文件Bean标签基本配置用于配置对象交由Spring来创建,默认情况下调用的是类中的无参构造函数,没有无参构造的情况下不能创建成功
基本属性
id:Bean实例在Spring中的唯一标识
class:Bean的全限定名称
Bean标签范围配置scope属性
取值范围
说明
singleton
默认值,单例的
prototype
多例的
request
web项目中,Spring创建一个对象并将对象存入request域内
session
web项目中,Spring创建一个对象并将对象存入session域内
global session
web项目中,应用在Portlet环境,如果没有Portlet环境,global session相当于session
这里单例是指每次创建出的Bean对象都是同一个对象,而多例则表示每次创建的都是全新的不同的Bean对象
示例
1234<!--单例的--><bean id="userDao" class="cn.ywrby.dao.impl.UserDaoImp ...
1-Spring基础
基本概念Spring是分层的Java SE/EE应用全栈(full-stack)轻量级开发框架,以IoC(Inverse of Control:反转控制)和AOP(Aspect Oriented Programing:面向切面编程)为内核
提供了展现层(Spring MVC)和持久层Spring JDBCTemplate以及业务层事务管理等众多企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE企业应用开发框架
Spring优势
方便解耦,简化开发:通过Spring提供的IoC容器,可以将对象间的依赖关系交由Spring进行控制,避免硬编码所造成的过度耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。
支持AOP编程:通过Spring的AOP功能,方便进行面向切面编程,许多不容易用传统OOP实现的功能可以通过AOP轻松实现。
声明式事务的支持:可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务管理,提高开发效率和质量。
方便程序测试
方便集成各种优秀框架
降低了Java EE ...