当前位置: 首页 > news >正文

做推广都有什么网站做网站的快捷方式代码

做推广都有什么网站,做网站的快捷方式代码,太原网页搜索排名提升,传奇做网站一、介绍从 Java 5 开始,Java 增加了对注解(Annotation)的支持,它是代码中的一种特殊标记,可以在编译、类加载和运行时被读取,执行相应的处理。开发人员可以通过注解在不改变原有代码和逻辑的情况下&#x…

一、介绍

从 Java 5 开始,Java 增加了对注解(Annotation)的支持,它是代码中的一种特殊标记,可以在编译、类加载和运行时被读取,执行相应的处理。开发人员可以通过注解在不改变原有代码和逻辑的情况下,在源代码中嵌入补充信息。
Spring 从 2.5 版本开始提供了对注解技术的全面支持,我们可以使用注解来实现自动装配,简化 Spring 的 XML 配置。
Spring 通过注解实现自动装配的步骤如下:
引入依赖
开启组件扫描
使用注解定义 Bean
依赖注入

二、子模块spring6-ioc-annotation

**①搭建模块**搭建方式如:spring6-ioc-xml**②引入配置文件**引入spring-ioc-xml模块日志log4j2.xml**③添加依赖**```xml
<dependencies><!--spring context依赖--><!--当你引入Spring Context依赖之后,表示将Spring的基础依赖引入了--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>6.0.3</version></dependency><!--junit5测试--><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId></dependency><!--log4j2的依赖--><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.19.0</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j2-impl</artifactId><version>2.19.0</version></dependency>
</dependencies>
```

三、开启组件扫描

Spring 默认不使用注解装配 Bean,因此我们需要在 Spring 的 XML 配置中,通过 context:component-scan 元素开启 Spring Beans的自动扫描功能。开启此功能后,Spring 会自动从扫描指定的包(base-package 属性设置)及其子包下的所有类,如果类上使用了 @Component 注解,就将该类装配到容器中。
<?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/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!--开启组件扫描功能--><context:component-scan base-package="com.wsy"></context:component-scan>
</beans
**情况一:最基本的扫描方式**```xml
<context:component-scan base-package="com.wsy">
</context:component-scan>
```**情况二:指定要排除的组件**```xml
<context:component-scan base-package="com.atguigu.spring6"><!-- context:exclude-filter标签:指定排除规则 --><!-- type:设置排除或包含的依据type="annotation",根据注解排除,expression中设置要排除的注解的全类名type="assignable",根据类型排除,expression中设置要排除的类型的全类名--><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/><!--<context:exclude-filter type="assignable" expression="com.wsy.controller.UserController"/>-->
</context:component-scan>
```**情况三:仅扫描指定组件**```xml
<context:component-scan base-package="com.atguigu" use-default-filters="false"><!-- context:include-filter标签:指定在原有扫描规则的基础上追加的规则 --><!-- use-default-filters属性:取值false表示关闭默认扫描规则 --><!-- 此时必须设置use-default-filters="false",因为默认规则即扫描指定包下所有类 --><!-- type:设置排除或包含的依据type="annotation",根据注解排除,expression中设置要排除的注解的全类名type="assignable",根据类型排除,expression中设置要排除的类型的全类名--><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/><!--<context:include-filter type="assignable" expression="com.wsy.controller.UserController"/>-->
</context:component-scan>
```

四、使用注解定义 Bean

Spring 提供了以下多个注解,这些注解可以直接标注在 Java 类上,将它们定义成 Spring Bean。

注解

说明

@Component

该注解用于描述 Spring 中的 Bean,它是一个泛化的概念,仅仅表示容器中的一个组件(Bean),并且可以作用在应用的任何层次,例如 Service 层、Dao 层等。 使用时只需将该注解标注在相应类上即可。

@Repository

该注解用于将数据访问层(Dao 层)的类标识为 Spring 中的 Bean,其功能与 @Component 相同。

@Service

该注解通常作用在业务层(Service 层),用于将业务层的类标识为 Spring 中的 Bean,其功能与 @Component 相同。

@Controller

该注解通常作用在控制层(如SpringMVC 的 Controller),用于将控制层的类标识为 Spring 中的 Bean,其功能与 @Component 相同。

4.1实验一:@Autowired注入

①场景一:属性注入

创建UserDao接口


​
publicinterfaceUserDao {
​publicvoidprint();
}

创建UserDaoImpl实现

importorg.springframework.stereotype.Repository;
​
@Repository
publicclassUserDaoImplimplementsUserDao {
​@Overridepublicvoidprint() {System.out.println("Dao层执行结束");}
}

创建UserService接口

packagecom.atguigu.spring6.service;
​
publicinterfaceUserService {
​publicvoidout();
}

创建UserServiceImpl实现类

importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.stereotype.Service;
​
@Service
publicclassUserServiceImplimplementsUserService {
​@AutowiredprivateUserDaouserDao;
​@Overridepublicvoidout() {userDao.print();System.out.println("Service层执行结束");}
}

创建UserController类


importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.stereotype.Controller;
​
@Controller
publicclassUserController {
​@AutowiredprivateUserServiceuserService;
​publicvoidout() {userService.out();System.out.println("Controller层执行结束。");}
​
}

测试一

    @Testpublic void testAutowired(){ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");UserController userController = ac.getBean("userController",UserController.class);userController.addController();}

测试结果:

②场景二:set注入
 @Autowiredprivate UserService userService;

改造

 private UserService userService;@Autowiredpublic void setUserService(UserService userService) {this.userService = userService;}
③场景三:构造方法注入
 private UserService userService;@Autowiredpublic UserController(UserService userService) {this.userService = userService;}
④场景四:形参上注入
 public UserController(@Autowired UserService userService) {this.userService = userService;}
⑤场景五:只有一个构造函数,无注解
    private UserDao userDao;public UserServiceImpl(UserDao userDao) {this.userDao = userDao;}
⑥场景六:@Autowired注解和@Qualifier注解联合
多个实现类,使用@qualifier进行注入
@Autowired
@Qualifier("userDaoImpl") // 指定bean的名字
private UserDao userDao;

4.2实验二:@Resource注入

@Resource注解也可以完成属性注入。那它和@Autowired注解有什么区别?

  • @Resource注解是JDK扩展包中的,也就是说属于JDK的一部分。所以该注解是标准注解,更加具有通用性。(JSR-250标准中制定的注解类型。JSR是Java规范提案。)

  • @Autowired注解是Spring框架自己的。

  • @Resource注解默认根据名称装配byName,未指定name时,使用属性名作为name。通过name找不到的话会自动启动通过类型byType装配。

  • @Autowired注解默认根据类型装配byType,如果想根据名称装配,需要配合@Qualifier注解一起用。

  • @Resource注解用在属性上、setter方法上。

  • @Autowired注解用在属性上、setter方法上、构造方法上、构造方法参数上。

@Resource注解属于JDK扩展包,所以不在JDK当中,需要额外引入以下依赖:【如果是JDK8的话不需要额外引入依赖。高于JDK11或低于JDK8需要引入以下依赖。

<dependency><groupId>jakarta.annotation</groupId><artifactId>jakarta.annotation-api</artifactId><version>2.1.1</version>
</dependency>
@Resource注解:默认byName注入,没有指定name时把属性名当做name,根据name找不到时,才会byType注入。byType注入时,某种类型的Bean只能有一个

http://www.yayakq.cn/news/232852/

相关文章:

  • 凡科建站相关链接wordpress浮动标签云
  • 烟台网站制作软件爱企业在线查询
  • 开发平台网站多少钱苏州做网站最好公司哪家好
  • 中小企业建站模板在QQ上做cpa网站说是恶意的
  • 门窗网站模板模仿wordpress主题
  • 有哪些平面设计网站怎么制作免费的企业网站
  • 网站里的注册怎么做wordpress浏览量
  • 集团网站建设特色wordpress主题中文主题下载
  • 网络营销教学网站装潢设计公司
  • 网站制作将栏目分类商城平台推广方案
  • 网站打不开了网站的设计与实现
  • 怎么在国外网站开发客户什么软件可以找做网站的
  • 视频网站做app建筑人才市场招聘网
  • 自适应网站模板公司北京哪里有专门做网站的地方
  • 农家乐网站 建设wordpress 获取子类
  • 局域网及网站建设内容手机网站滑动效果
  • 长沙模板网站建设个人建站模板
  • 怎样优化网站排名制作网页的的网站
  • 凡科网站怎么做建站iis部署网站 红叉
  • 自己做的网站怎么放到网上去wordpress 文章 代码
  • 广东网站建设微信商城运营企业网站建设的建站前准备
  • h5做招聘网站中小企业网站建设与管理课后答案
  • 如何为产品做网站评论回复网站怎么做
  • 重庆市住房和城乡建设厅网站首页网站编程开发
  • 做网站有骗子建站工具 phpwind
  • 最好的网站代运营公司如何做电商运营
  • 上海网站制作公司多少钱wordpress教程app
  • 妇科医院手机网站源码网页qq登陆保护在哪里
  • 咸阳网站建设哪家好网站建设公司费用
  • 北京网站建设公司怎么样网站建立的研究方案