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 注解开发 -- 原始注解(出现比较早的注解)开发的主要内容,如果未能解决你的问题,请参考以下文章

Spring注解开发

Spring从入门到精通—注解开发

Spring框架--Spring注解开发

SRPING02_配置数据源原始注解开发新注解开发集成Junit代码实现

8. Spring 注解开发(原始注解)2

Spring 注解开发 -- Spring新注解(完全替换Spring配置文件 使用配置类)