栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring学习笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring学习笔记

文章目录
  • 一、快速入门
  • 二、Spring配置文件
  • 三、Spring三种构造方式
  • 注解开发
  • 全注解开发
  • Spring集成junit步骤
  • SpringMVC开发步骤
  • SpringMVC页面跳转
  • Spring回写数据

一、快速入门
  • 导入Spring依赖

            org.springframework
            spring-context
            5.0.5.RELEASE
        
  • 创建Bean
    • 创建Dao接口
    • 创建Dao实现类实现接口
    • 在springxml中写入Bean
public interface UserDao {
    void save();
}
public class UserService implements UserDao {
    public void save(){
        System.out.println("spring~");
    }
}

二、Spring配置文件
项目Value
id标识符,不可重复
class权限类名
scope范围
init-method初始化方法
destroy-method销毁方法
  • scope中有很多标签
    • singleton:单一的,单例的(默认),在Spring文件被加载时,实例化Bean实例,生命周期与容器一致
    • prototype:多例的,每次调用getBean方法时实例化一个Bean,对象只要在使用中就活着,长时间不用就销毁
三、Spring三种构造方式
  • 无参构造实例化

  • 工场静态方法实例化

  • 工厂动态方法实例化

    
注解开发
注解说明
@Component类上用于实例化bean
@Controllerweb层类上用于实例化bean
@Service使用在service层用于实例化bean
@Repositoryrdao层类上用于实例化bean
@Autowired使用在字段上用于根据类型依赖注入
@Qualifier和@Autowired 一起使用用于根据名称依赖注入
@Resource相当于@Autowired + @Qualifier根据名称进行依赖注入
@Value注入普通属性
@Scope标注bean的作用范围
全注解开发
注解说明
@Configuration标志该类是Spring的核心配置类
@PropertySource
@Bean(“dataSource”)
@ComponentScan(“com.tiger”)
@import(dataSourceConfiguration.class)核心配置类中引入其他配置类
Spring集成junit步骤
  • 导入SpringJunit坐标
  • 用@Runwith替换原来的运行期
  • 使用@ContextConfiguration指定配置文件或配置类
  • @Autowired注入需要测试的对象
  • 创建测试方法
SpringMVC开发步骤
  • 导入SpringMVC相关坐标
  • 配置SpringMVC核心控制器DispathcerServlet
  • 创建Contrller类和视图页面
  • 使用注解配置Controller类中业务方法的映射地址
  • 配置SpringMVC核心文件spring-mvc.xml
  • 客户端发起请求测试
SpringMVC页面跳转
  • 返回字符串形式(quick)
  • 返回ModelAndView形式(quick2)
@Controller
@RequestMapping("/user")
public class UserController {
    @RequestMapping(value = "/quick",method = RequestMethod.GET,params = {"username"})
    public String save(){
        System.out.println("Controller save running");
        return "/success.jsp";
    }
    @RequestMapping("/quick2")
    public ModelAndView save2(){
        ModelAndView modelAndView=new ModelAndView();
        modelAndView.addObject("username","hello");
        modelAndView.setViewName("/success.jsp");
        return  modelAndView;
    }
    @RequestMapping("/quick3")
    public ModelAndView save3(ModelAndView modelAndView){
        modelAndView.addObject("username","hello");
        modelAndView.setViewName("/success.jsp");
        return  modelAndView;
    }
    @RequestMapping("/quick4")
    public String save4(Model model){
        model.addAttribute("username","你好啊");
        return "/success.jsp";
    }
}
Spring回写数据
  • 直接返回字符串
  • 返回对象或集合
 @RequestMapping("/quick5")
    public String save5(HttpServletRequest request){
        request.setAttribute("username","沙丁鱼罐头");
        return "/success.jsp";
    }
    @RequestMapping("/quick6")
    public void save6(HttpServletResponse response) throws IOException {
        response.getWriter().print("response");

    }
    @RequestMapping("/quick7")
    @ResponseBody//告诉SpringMVC框架不进行页面跳转
    public String save7(){

        return "沙丁鱼罐头";
    }
    @RequestMapping("/quick8")
    @ResponseBody//告诉SpringMVC框架不进行页面跳转
    public String save8(){

        return "{"username":"zhangsan","age":"18"}";
    }
    @RequestMapping("/quick9")
    @ResponseBody//告诉SpringMVC框架不进行页面跳转
    public String save9() throws JsonProcessingException {
        User user =new User();
        user.setName("zhangsan");
        user.setAge("18");
        ObjectMapper mapper=new ObjectMapper();
        String json=mapper.writevalueAsString(user);

        return json;
    }
    @RequestMapping("/quick10")
    @ResponseBody//告诉SpringMVC框架不进行页面跳转
    public User save10() throws JsonProcessingException {
        User user =new User();
        user.setName("zhangsan");
        user.setAge("18");
        return user;
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/603146.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号