Spring框架由配置文件转化为注解开发

3 篇文章 0 订阅
1 篇文章 0 订阅

Spring框架由配置文件转化为注解开发

Spring Framework的注解开发相比之前的代码量是降低了耦合、简化了书写。可以说是简单几行代码就可以实现你需要的功能,相当方便。
假如我们在做一个项目时,所有的内容都配置在.xml文件上,在Java文件和配置文件来回转换,也是相当麻烦和耗时的。为了解决这些个问题,Spring引入了注解,通过”@注解名称”的方式,让注解与Java Bean紧密结合,既大大减少了配置文件的体积,又增加了Java Bean的可读性与内聚性。

一、Spring的原始注解:
在这里插入图片描述

Spring组件扫描:

	//代表 base-package="路径"   能够扫描到路径下的注解
 <context:component-scan base-package="com.itheima.springmvc"></context:component-scan>

作用:
注意:使用注解开发时,需要在applicationContext.xml中配置组件扫描,作用是指定哪个包及其子包下的Bean需要进行扫描以便识别使用注解配置的类、字段和方法

二、配置文件转化为@(注解)**
@Component的使用

<!--给com.itheima.dao.impl.DaoImpl路径下的DaoImpl配置对象,存入Spring容器-->
<bean id="userDao" class="com.itheima.dao.impl.DaoImpl"></bean>
转化为!
在DaoImpl上配置 @Component(“daoImpl”)  
这里括号里面的参数相当于<bean>里面的id,假如不加参数那么id自动封装为"类名"的首字母小写

注意!!!这里的
在这里插入图片描述
@Component、@Controller、@Service、@Repository
使用的作用都是一样,但是便于程序员分析,更加清晰,这个类的具体作用(三层架构)

@Autowired的使用

<bean id="findServiceImpl " class="com.itheima.service.Impl.FindServiceImpl ">
	在方法名上配置  @Autowired  加@Qualifier(“userDao)
    <property name="findDao" ref="findDao"></property>
</bean>-->


@Service("findServiceImpl")
public class FindServiceImpl implements FindService {
	
	//可以不适用配置文件,然后可以获取到FindDao接口对象
    @Autowired
    //获取查询对象
    private FindDao findDao;

@Autowired+@Qualified

	//根据id配置对象
    @Autowired
    @Qualifier("findDao")
    //获取查询对象
    private FindDao findDao;

简单的注解已经讲解结束了。现在来走一波

		//构造容器取出FindServiceImpl的对象,然后就可以根据对象调用方法了
        ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
        FindServiceImpl  findService = app.getBean(FindServiceImpl.class);

然而我们想不用配置文件也是可以的 ,只需要在上面加上几行这样的代码
在这里插入图片描述
直接在类名上加载

@Controller
//指定当前类是一个Spring配置类,当创建容器时会从该类上加载注解
@Configuration("classpath:applicationContext.xml")
//指定Spring在初始化容器时所要扫描的包
@ComponentScan("com.itsource")
public class ControllerServlet {

@PropertySource的作用
·加载Properties文件得配置:

不管使用注解还是配置文件实现,做的事情还是那些事情,但注解和XML都不是万能的,满足自己的需求哪种方式更加简便,让程序更加简洁更好。没有哪个是最优的,在合适的场景选择合适的解决方案这才是重要的。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值