Spring 注解开发 -- 原始注解(出现比较早的注解)开发
Posted Z && Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring 注解开发 -- 原始注解(出现比较早的注解)开发相关的知识,希望对你有一定的参考价值。
1. Spring原始注解
- Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替xml配置文件可以简化配置,提高开发效率。
- Spring原始注解主要是替代
Bean
的配置 - 用xml来进行配置时,我们需要相应的set方法或者构造函数才可以进行属性注入。如果使用的是注解进行开发,就不需要相应的set方法和构造函数。
说明:
为了更好的进行分层,Spring可以使用其它三个注解,功能同@Component,目前使用哪一个功能都一样:
- @Controller:web层
- @Service:service层
- @Repository:dao层
- @Configration:代表这是一个配置类
写上这些注解,就相当于将这个类交给Spring管理装配了!
1.1 使用注解开发注意事项
使用注解进行开发时,需要在applicationContext.xml
中配置组件扫描,作用是指定哪个包及其子包下的Bean
需要进行扫描以便识别使用注解配置的类、字段和方法。
<!-- 配置注解的组件扫描范围-->
<context:component-scan base-package="com.itheima"/>
1.2 使用原始注解进行开发 入门案例
1.2.1 UserDaolmpl 交给 Spring IoC容器托管。
使用@Compont或@Repository标识
UserDaoImpl.java
/**
* 第一种形式:xml形式注入IoC容器
* <bean id="userDao" class="com.itheima.dao.impl.UserDaoImpl"></bean>
*/
/**
* 第二种形式: @Component("userDao")
*/
@Repository("userDao")// 第三种形式
public class UserDaoImpl implements UserDao {
public void save() {
System.out.println("save running...");
}
}
1.2.2 注入UserServiceImpl 以及在UserServiceImpl里面注入userDao
// 注入UserServiceImpl
//第一种方式:<bean id="userService" class="com.itheima.service.impl.UserServiceImpl">
//第二种方式:@Component("userService")
@Service("userService")// 第三种方式
public class UserServiceImpl implements UserService {
// 在UserServiceImpl注入userDao
//第一种形式(xml):<property name="userDao" ref="userDao"></property>
@Autowired //第二种形式:按照数据类型从Spring容器中进行匹配的
/**
* 第二种形式:按照id值从容器中进行匹配的 但是主要此处@Qualifier结合@Autowired一起使用
* @Autowired
* @Qualifier("userDao")
*/
// 第三种形式:@Resource(name="userDao") //@Resource相当于@Qualifier+@Autowired
private UserDao userDao;
public void save() {
userDao.save();
}
}
1.2.3 测试
测试代码:
public static void main(String[] args) {
ClassPathXmlApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService userService = app.getBean(UserService.class);
userService.save();
}
运行结果:
1.3 使用@Value进行字符串的注入
这里的jdbc.driver
对应配置文件的key
说明:
如果需要从配置文件当中读取数据,需要在Spring的配置文件当中加载配置文件
- 我的配置文件
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis_ex_three
jdbc.username=root
jdbc.password=317525
- 我的Spring核心配置文件
1.4 使用@Scope标注Bean的范围
1.5 使用注解配置初始化方法和销毁方法
- @PostConstruct标注初始化方法
- 使用@PreDestroy标注销毁方法
以上是关于Spring 注解开发 -- 原始注解(出现比较早的注解)开发的主要内容,如果未能解决你的问题,请参考以下文章