【Spring框架05,Java初级开发是如何一步步成为高级开发

public String getPassword() {

    return password;

}



public void setPassword(String password) {

    this.password = password;

}

}




### []( )2.dao:验证用户密码是否准确



@Repository

public class UserDao {

private final String USERNAME="lmr";

private final String PASSWORD="lcy";

public User queryUserByName(String username){

    if(username==null||username==""){

        return null;

    }

    else {

        if(username.equals(USERNAME)){

            User user=new User();

            user.setPassword(PASSWORD);

            user.setUsername(USERNAME);

            return user;

        }

        else {

            return null;

        }

    }

}

}




### []( )3.service:根据传入的用户名和密码进行格式判断并调用dao验证



@Service(“aaa”)

public class UserService {

@Resource

public UserDao userDao;

public String  login(String username,String password) throws Exception{

   if(username==null||"".equals(username)){

       return "用户名为空";

   }

   if(password==null||"".equals(password)){

       return "密码为空";

   }

   User user = userDao.queryUserByName(username);

   if(user==null){

       return "用户不存在";

   }

   else{

       if(password.equals(user.getPassword())){

           return "登入成功";

       }

       else {

           return "登入失败";

       }

   }

}

}




### []( )4.spring.xml中包扫描目录下的所有bean对象



<?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">
    <context:component-scan base-package="com.lcySpring"/>



### []( )5.测试java类,进行用户登录模拟



public class UserServiceTest {

@Test

public void login() throws Exception{

    ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");

    UserService userService = (UserService)context.getBean("aaa");

    String login =userService.login("lmr","lcy");

    System.out.println(login);

}

}




[]( )三、Bean作用域

--------------------------------------------------------------------



### []( )1.判断是否是单例



public class SpringScopeTest {

@Test

public void test01(){

    ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");

    System.out.println(context.isSingleton("aaa"));

}

}




### []( )2.可以通过修改xml文件中bean标签的scope进行修改



<?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">
    <context:component-scan base-package="com.lcySpring"/>

    <bean id="userService" class="com.lcySpring.service.UserService" scope="prototype"></bean>



### []( )3.也可以通过标签设置



@Service(“aaa”)

@Scope(“prototype”)




### []( )4.设置懒加载



用到的时候调用就好了






[]( )四、Bean的生命周期

----------------------------------------------------------------------



### []( )1.初始化监听



(1)在配置文件中通过指定init-method属性来完成



    <bean id="accountDao" class="com.lcySpring.dao.AccountDao"  init-method="init"></bean> 



这里的init对应的是AccountDao中初始化的方法名



public class AccountDao implements InitializingBean {

public void init(){

    System.out.println("AccountDao>>>>>>>>>>>>>>>>>init");

}



@Override

public void afterPropertiesSet() throws Exception {

    System.out.println("AccountDao>>>>>>>>>>>>>>>>>init");

}

}




(2)实现org.springframework.beans.factory.InitializingBean接口



public class AccountDao implements InitializingBean {}




### []( )2.销毁



(1)destroy-method=“destroy”  

在xml文件中配置






(2)需要一个抽象的环境AbstractApplicationContext  

设置测试类



public class AccountDaoTest {

总结

虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。

架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。

如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。

CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】

image

ass AccountDaoTest {

总结

虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。

架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。

如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。

CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】

[外链图片转存中…(img-X9oOdQEP-1630575511060)]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值