Spring的注解开发

低版本注解:

如果要让spring支持注解,必须开启注解支持及组件扫描。

配置文件applicationContextOfAnnotation.xml:


base-package指定在Demo及其内部文件夹扫描遍历所有注解。

注解@Component不属于任何层

注解@Component(id)完成创建对象,不方便区分属于哪一层但是需要注解管理时使用

注解@Controller代表MVC控制层

在SpringMVC中用的比较多

注解@Service代表业务层

衍生注解@Service(id)完成service层的bean实例化,可读性更强

注解@Repository代表DAO层

衍生注解@Repository(id)完成dao层的bean实例化,可读性更强

接口UserDao的实现类UserDaoImpl:

注解@Autowired按照类型自动注入

@Autowired自动注入,可以配合Qualifier使用,可以单独使用。单独使用时是按照下面的类型注入,前提是该类型在配置文件中唯一。


注解@Qualifier

@Qualifier(想要注入的bean的id),必须结合Autowired使用,按照id名称从容器中进行匹配。

注解@Resource

@Resource(name=id),相当于@Autowired+@Qualifier一起使用【需要加name,jdk9已删除,不推荐使用】

userService:

注解配置的情况下,set方法可以不写

注解@Repository

衍生注解@Repository完成web层的bean实例化,可读性更强,但是我们是虚假的web程序不能用这个

虚假的web程序:


注解@Value:支持SpEL ${}

注解@Scope

前面讲过,不演示

注解@PostConstruct

初始化

注解@PreDestroy

结束



高版本注解,不推荐使用

@Configuration标注一个类是配置类

当我们看到这个注解,说明这个类是Spring的配置类

@ComponentScan组件扫描,替代配置文件组件扫描标签

扫描如下的注解,被扫描到的注解会自动被当成配置类去加载【不推荐使用,过于憨批】

@PropertySource替换配置文件的placeholder标签

用于引入properties配置文件供spring使用

@Import引入

在配置类中引入其他配置类

@Bean

一般用于第三方工厂方法去创建对象

用注解全部替换掉applicationContext.xml配置文件:


jdbc.properties:

UserDaoImpl:

UserServletImpl:

FakeServletOfAnnotation:

执行FakeServletOfAnnotation结果:

原文地址:https://www.cnblogs.com/maomaodesu/p/12190201.html