Spring注解开发(原始注解、新注解)
标签(空格分隔): Spring
Spring原始注解
使用注解进行开发时,需要在applicationContext.xml中配置组件扫描, 作用是指定哪个包及其子包下的Bean需要进行扫描以便识别使用注解配置的类、字段和方法
<context:component-scan base-package=”com.allwinter”/>
@Component --->使用在类上用于实例化Bean
@Controller ----> 使用在web层类上用于实例化Bean
@Service -----> 使用在service层类上用于实例化Bean
@Repository-----> 使用在dao层类上用于实例化Bean
@Autowired -----> 使用在字段上用于根据类型依赖注入
@Qualifier -----> 是按照id的值从容器中进行匹配,但是主要结合@Autowired一起使用用于根据名称进行依赖注入
@Resource------> 相当于@Autowired+@Qualifier,按照名称进行注入
@Value -------> 注入普通属性
通过组件扫描,直接通过EL表达式获取值:value(“${jdbc.username}”)
@Scope-------> 标注Bean的作用范围
@PostConstruct--->使用在方法上标注该方法是Bean的初始化方法
@PreDestroy------> 使用在方法上标注该方法是Bean的销毁方法
Spring新注解
使用原始注解不能全部替代xml配置文件,还需要使用新注解替代的配置如下:
- 非自定义的Bean的配置:bean
- 加载properties文件的配置:context:properties-placeholder
- 组件扫描的配置:context:component-scan
- 引入其他文件:import
@Configuration ----->
用于指定当前类是一个Spring配置类,当创建容器时会从该类上加载注解
@ComponentScan----->
用于指定Spring在初始化容器时要扫描的包
作用和在Spring的xml配置文件中的
<context:component-scanvase-package=”com.allwinter”/>一样
@Bean ----->
使用在方法上,标注将该方法的返回值存储到Spring容器中
@PropertySource ----->
用于加载.properties文件中的配置
@Import ------->
用于导入其他配置类
Spring集成JUnit
maven导入spring-test包
-->@RunWith注解替换原来的运行期:
@Runwith(JUnit4ClassRunner.class)
-->@ContextConfiguration指定配置文件或配置类:
@ContextConfiguration(“context:application.xml”)
@ContextConfiguration(classes = {SpringConfiguration.class})
-->@Autowired注入需要测试的对象:
@Autowired
private UserService userService;//直接在测试类中自动将对象注入到spring容器中
-->创建测试方法进行测试: