Spring-IOC注解

  • Spring4 之后,也就是 5 开始,想要使用IOC注解的形式,必须得要引入 Aop 的包

applicationContext.xml 配置文件当中,还得要引入一个 context约束

xmlns:context="http://www.springframework.org/schema/context"
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd

  • 我还是把内容放在这里吧方便复制
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">
</beans>

配置注解扫描

  • 哪个包下的类,需要进行注解扫描
  • 修改 applicationContext.xml 添加如下内容:
...

<context:component-scan base-package="top.it6666"/>

...
  • 如上的配置方式可以扫描 it6666 包下的所有子包
  • 所以你就不用每个包一个配置每个包一个配置了,这样子配一次性的扫描了简洁

使用注解的方式配置Bean

  • 在对应的类上添加注解
  • 紧接着上篇的文章,修改 User 类代码如下:
/**
 * @author: BNTang
 **/
@Component("user")
public class User {

}
  • 测试类代码如下:
/**
 * @author: BNTang
 **/
public class UserDaoTest {
    
    @Test
    public void Demo() {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        User user = (User) applicationContext.getBean("user");

        System.out.println(user);
    }
    
}

使用注解的方式注入属性

  • 可以不用提供 set方法,直接在属性上添加如下注解即可
  • 修改 User 类代码如下:
@value("值")

/**
 * @author: BNTang
 **/
@Component("user")
public class User {
    @Value("BNTang")
    private String name;
    public void say(){
        System.out.println("name = " + name);
    }
}
  • 修改测试类代码如下:
/**
 * @author: BNTang
 **/
public class UserDaoTest {
    @Test
    public void Demo() {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        User user = (User) applicationContext.getBean("user");

        user.say();
    }
}
  • 如果提供了 set方法,就在 set方法上 添加如上注解
  • 修改 User 类代码如下:
/**
 * @author: BNTang
 **/
@Component("user")
public class User {
    private String name;

    @Value("BNTang")
    public void setName(String name) {
        this.name = name;
    }

    public void say(){
        System.out.println("name = " + name);
    }
}
  • 测试类代码同上:
posted @ 2020-10-04 13:38  BNTang  阅读(64)  评论(0编辑  收藏  举报